DECRYPTBYASYMKEY (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Diese Funktion verwendet einen asymmetrischen Schlüssel zum Entschlüsseln verschlüsselter Daten.
Transact-SQL-Syntaxkonventionen
Syntax
DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }
[ , 'Asym_Key_Password' ] )
Argumente
Asym_Key_ID
Die ID eines asymmetrischen Schlüssels in der Datenbank. Asym_Key_ID weist den Datentyp int auf.
ciphertext
Die Zeichenfolge der Daten, die mit dem asymmetrischen Schlüssel verschlüsselt wurden.
@ciphertext
Eine Variable vom Typ varbinary, die Daten enthält, die mit dem asymmetrischen Schlüssel verschlüsselt wurden.
Asym_Key_Password
Das Kennwort, mit dem der asymmetrische Schlüssel in der Datenbank verschlüsselt wurde.
Rückgabetypen
varbinary mit einer maximalen Größe von 8.000 Byte.
Bemerkungen
Im Vergleich zur symmetrischen Verschlüsselung/Entschlüsselung ist die Verschlüsselung/Entschlüsselung mit asymmetrischen Schlüsseln kostspielig. Wenn Sie mit großen Datasets arbeiten (z.B. in Tabellen gespeicherte Benutzerdaten), wird empfohlen, dass Entwickler die Verschlüsselung/Entschlüsselung mit asymmetrischen Schlüsseln vermeiden.
Berechtigungen
DECRYPTBYASYMKEY
erfordert die CONTROL-Berechtigung für den asymmetrischen Schlüssel.
Beispiele
In diesem Beispiel wird Chiffretext entschlüsselt, der ursprünglich mit dem asymmetrischen Schlüssel JanainaAsymKey02
verschlüsselt wurde. Dieser asymmetrische Schlüssel ist in AdventureWorks2022.ProtectedData04
gespeichert. Im Beispiel wurden die zurückgegebenen Daten mit dem asymmetrischen Schlüssel JanainaAsymKey02
entschlüsselt. Im Beispiel wurde das Kennwort pGFD4bb925DGvbd2439587y
verwendet, um diesen asymmetrischen Schlüssel zu entschlüsseln. Im Beispiel wurde der zurückgegebenen Klartext in den Typ nvarchar konvertiert.
SELECT CONVERT(NVARCHAR(max),
DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y' ))
AS DecryptedData
FROM [AdventureWorks2022].[Sales].[ProtectedData04]
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO
Weitere Informationen
ENCRYPTBYASYMKEY (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Auswählen eines Verschlüsselungsalgorithmus
Verschlüsselungshierarchie