Freigeben über


ENCRYPTBYASYMKEY (Transact-SQL)

Verschlüsselt Daten mit einem asymmetrischen Schlüssel.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )

Argumente

  • Asym_Key_ID
    Die ID eines asymmetrischen Schlüssels in der Datenbank. int.

  • cleartext
    Eine Zeichenfolge der Daten, die mit dem asymmetrischen Schlüssel verschlüsselt werden.

  • @plaintext
    Eine Variable vom Typ nvarchar, char, varchar, binary, varbinary oder nchar, die Daten enthält, die mit dem asymmetrischen Schlüssel verschlüsselt werden sollen.

Rückgabetypen

varbinary mit einer maximalen Größe von 8.000 Bytes.

Hinweise

Das Verschlüsseln und Entschlüsseln mit einem asymmetrischen Schlüssel ist im Vergleich zum Verschlüsseln und Entschlüsseln mit einem symmetrischen Schlüssel sehr teuer. Es ist nicht empfehlenswert, große Datasets, wie z. B. Benutzerdaten in Tabellen, mithilfe eines asymmetrischen Schlüssels zu verschlüsseln. Stattdessen sollten Sie die Daten mithilfe eines starken symmetrischen Schlüssels verschlüsseln und den symmetrischen Schlüssel mithilfe eines asymmetrischen Schlüssels verschlüsseln.

Beispiele

Im folgenden Beispiel wird der in @cleartext gespeicherte Text mit dem asymmetrischen Schlüssel JanainaAsymKey02 verschlüsselt. Die verschlüsselten Daten werden in die ProtectedData04-Tabelle eingefügt.

INSERT INTO [AdventureWorks2008R2].[Sales].[ProtectedData04] 
    values( N'data encrypted by asymmetric key ''JanainaAsymKey02''',
    EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) )
GO