KEY_NAME (Transact-SQL)
Simetrik anahtar adını ya da bir simetrik anahtar GUID veya şifreleme metni verir.
KEY_NAME ( ciphertext | key_guid )
Bağımsız değişkenler
ciphertext
Is the text encrypted by the symmetric key.cyphertext is type varbinary(8000).key_guid
Is the GUID of the symmetric key.key_guid is type uniqueidentifier.
Döndürülen türleri
varchar(128)
İzinler
Içinde başlangıç SQL Server 2005, ya da sahibi olan bir kullanıcı veya kullanıcı bazı izninin verilmiş securables için meta veriler görünürlüğünü sınırlıdır. Daha fazla bilgi için bkz:Meta veriler görünürlük yapılandırma.
Örnekler
C.The key_guid kullanarak bir simetrik anahtar adını görüntüleme
The master database contains a simetrik anahtar named ##MS_ServiceMasterKey##.Aşağıdaki örnek, GUID alır anahtar sys.symmetric_anahtars dinamik yönetimi görünümünden, bir değişkene atar ve bu değişken, karşılık gelen ad için GUID TANıMLAMASı almayı göstermek için anahtar _NAME işlev geçirir.
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];
PASSWORD = 'decryption_password'
b.Cipher metni kullanarak bir simetrik anahtar adını görüntüleme
Aşağıdaki örnek, bir simetrik anahtar oluşturma ve bir tabloya veri doldurma tüm işlemi gösterir.Örneğin, daha sonra nasıl KEY_NAME sırasında şifreli metin anahtarın adını döndürür. 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] ;