Freigeben über


DECRYPTBYASYMKEY (Transact-SQL)

Entschlüsselt Daten mit einem asymmetrischen Schlüssel.

Themenlink (Symbol)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 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.

Berechtigungen

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 AdventureWorks2008R2.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 [AdventureWorks2008R2].[Sales].[ProtectedData04] 
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';
GO