Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Visszaadja a szimmetrikus kulcs nevét akár egy szimmetrikus kulcs, GUID vagy titkosított szövegből.
Transact-SQL szintaxis konvenciók
Szemantika
KEY_NAME ( ciphertext | key_guid )
Arguments
ciphertext
A szöveget a szimmetrikus kulcs titkosítja.
A titkosított szövega varbinary(8000) típus.
key_guid
A szimmetrikus kulcs GUID-je.
key_guid a típus uniqueidentifier.
Visszatérő típusok
varchar(128)
Permissions
Az SQL Server 2005 (9.x) verziótól kezdve a metaadatok láthatósága korlátozódik azokra az értékpapírokra, amelyeket a felhasználó birtokol, vagy amelyekre valamilyen engedélyt kapott. További információ: Metaadatok láthatóságának konfigurációja.
Példák
A. Egy szimmetrikus kulcs nevének megjelenítése a key_guid
A fő adatbázis tartalmaz egy szimmetrikus kulcsot ##MS_ServiceMasterKey## néven. A következő példa megkapja az adott kulcs GUID-jét a sys.symmetric_keys dinamikus menedzsment nézetből, egy változóhoz rendeli, majd átadja azt a változót a KEY_NAME függvénynek, hogy bemutassa, hogyan lehet visszaadni a GUID-nek megfelelő nevet.
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. Szimmetrikus kulcs nevének megjelenítése a titkosított szöveg segítségével
A következő példa bemutatja az egész folyamatot egy szimmetrikus kulcs létrehozásának és az adatok táblázatba való feltöltésének folyamatában. A példa aztán megmutatja, hogyan adja vissza KEY_NAME a kulcs nevét, amikor átadják a titkosított szöveget.
-- 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] ;
Lásd még:
sys.symmetric_keys (Transact-SQL)
ENCRYPTBYKEY (Transact-SQL)
DECRYPTBYKEYAUTOASYMKEY (Transact-SQL)