Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Simetrik anahtarın adını simetrik anahtar GUID veya şifreli metinden döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
KEY_NAME ( ciphertext | key_guid )
Arguments
Ciphertext
Metin simetrik anahtarla şifrelenmiştir.
şifreli metinvarbinary(8000) tipidir.
key_guid
Simetrik anahtarın GUID'i.
key_guidtür uniqueidentifier.
Geri Dönen Tipler
varchar(128)
Permissions
SQL Server 2005 (9.x)'den itibaren, meta verilerin görünürlüğü, kullanıcının sahip olduğu veya izni verilen güvenlikli varlıklarla sınırlıdır. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .
Örnekler
A. Simetrik anahtarın adının gösterilmesi key_guid
Ana veritabanı ##MS_ServiceMasterKey## adlı simetrik bir anahtar içerir. Aşağıdaki örnek, sys.symmetric_keys dinamik yönetim görünümünden o anahtarın GUID'sini alır, bir değişkene atar ve ardından bu değişkeni KEY_NAME fonksiyonuna iletir; böylece GUID'ye karşılık gelen ismin nasıl döndürüleceğini gösterir.
USE master;
GO
DECLARE @guid uniqueidentifier ;
SELECT @guid = key_guid FROM sys.symmetric_keys
WHERE name = '##MS_ServiceMasterKey##' ;
-- Demonstration of passing a GUID to KEY_NAME to receive a name
SELECT KEY_NAME(@guid) AS [Name of Key];
B. Şifreli metin kullanılarak simetrik anahtarın adının gösterilmesi
Aşağıdaki örnek, simetrik bir anahtar oluşturma ve verileri bir tabloya doldurma sürecinin tamamını göstermektedir. Örnek, şifrelenmiş metin KEY_NAME anahtarın adını nasıl geri verdiğini gösterir.
-- Create a symmetric key
CREATE SYMMETRIC KEY TestSymKey
WITH ALGORITHM = AES_128,
KEY_SOURCE = 'The square of the hypotenuse is equal to the sum of the squares of the sides',
IDENTITY_VALUE = 'Pythagoras'
ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y' ;
GO
-- Create a table for the demonstration
CREATE TABLE DemoKey
(IDCol INT IDENTITY PRIMARY KEY,
SecretCol VARBINARY(256) NOT NULL)
GO
-- Open the symmetric key if not already open
OPEN SYMMETRIC KEY TestSymKey
DECRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y';
GO
-- Insert a row into the DemoKey table
DECLARE @key_GUID uniqueidentifier;
SELECT @key_GUID = key_guid FROM sys.symmetric_keys
WHERE name LIKE 'TestSymKey' ;
INSERT INTO DemoKey(SecretCol)
VALUES ( ENCRYPTBYKEY (@key_GUID, 'EncryptedText'))
GO
-- Verify the DemoKey data
SELECT * FROM DemoKey;
GO
-- Decrypt the data
DECLARE @ciphertext VARBINARY(256);
SELECT @ciphertext = SecretCol
FROM DemoKey WHERE IDCol = 1 ;
SELECT CAST (
DECRYPTBYKEY( @ciphertext)
AS VARCHAR(100) ) AS SecretText ;
-- Use KEY_NAME to view the name of the key
SELECT KEY_NAME(@ciphertext) AS [Name of Key] ;
Ayrıca Bkz.
sys.symmetric_keys (Transact-SQL)
ENCRYPTBYKEY (Transact-SQL)
DECRYPTBYKEYAUTOASYMKEY (Transact-SQL)