DECRYPTBYASYMKEY (Transact-SQL)
Entschlüsselt Daten mit einem asymmetrischen Schlüssel.
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 ist vom Datentyp int.ciphertext
Eine Zeichenfolge mit 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 Bytes.
Hinweise
Das Verschlüsseln/Entschlüsseln mit einem asymmetrischen Schlüssel ist im Vergleich zum Verschlüsseln/Entschlüsseln mit einem symmetrischen Schlüssel sehr teuer. Von einem asymmetrischen Schlüssel wird abgeraten, wenn Sie große Datasets wie z. B. Benutzerdaten in Tabellen verwenden.
Permissions
Erfordert die CONTROL-Berechtigung für den asymmetrischen Schlüssel.
Beispiele
Im folgenden Beispiel wird verschlüsselter Text entschlüsselt, der mit dem asymmetrischen Schlüssel JanainaAsymKey02 verschlüsselt wurde, der in AdventureWorks.ProtectedData04 gespeichert war. Die zurückgegebenen Daten werden mit dem asymmetrischen Schlüssel JanainaAsymKey02 entschlüsselt, der mit dem Kennwort pGFD4bb925DGvbd2439587y entschlüsselt wurde. Der Nur-Text wird in den Datentyp nvarchar konvertiert.
SELECT CONVERT(nvarchar(max),
DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y' ))
AS DecryptedData
FROM [AdventureWorks].[Sales].[ProtectedData04]
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO