Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrací název symetrického klíče buď z GUID symetrického klíče, nebo šifrovaného textu.
Syntaxe
KEY_NAME ( ciphertext | key_guid )
Arguments
Ciphertext
Je text zašifrovaný symetrickým klíčem.
Šifrovaný text je typu varbinary(8000).
key_guid
Je GUID symetrického klíče.
key_guid je typ uniqueidentifier.
Vrácené typy
varchar(128)
Povolení
Od SQL Server 2005 (9.x) je viditelnost metadat omezena na zabezpečené objekty, které uživatel vlastní nebo na které mu bylo uděleno určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.
Examples
A. Zobrazení názvu symetrického klíče pomocí key_guid
Hlavní databáze obsahuje symetrický klíč s názvem ##MS_ServiceMasterKey##. Následující příklad získá GUID tohoto klíče z pohledu sys.symmetric_keys dynamické správy, přiřadí ji proměnné a poté tuto proměnnou předá funkci KEY_NAME, aby ukázal, jak vrátit název odpovídající GUID.
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. Zobrazení názvu symetrického klíče pomocí šifrovaného textu
Následující příklad ukazuje celý proces vytváření symetrického klíče a naplnění dat do tabulky. Příklad pak ukazuje, jak KEY_NAME vrátí název klíče při předání šifrovaného textu.
-- 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] ;
Viz také
sys.symmetric_keys (Transact-SQL)
ENCRYPTBYKEY (Transact-SQL)
DECRYPTBYKEYAUTOASYMKEY (Transact-SQL)