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.

EncryptByAsymKey gibt je nach Algorithmus NULL zurück, wenn die Eingabe eine bestimmte Anzahl von Bytes überschreitet. Die Grenzwerte lauten wie folgt: ein 512-Bit-RSA-Schlüssel kann bis zu 53 Bytes verschlüsseln, ein 1024-Bit-Schlüssel kann bis zu 117 Bytes verschlüsseln und ein 2048-Bit-Schlüssel kann bis zu 245 Bytes verschlüsseln. (Beachten Sie, dass in SQL Server beide Zertifikate und asymmetrischen Schlüssel Wrapper für RSA-Schlüssel sind.)

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 AdventureWorks2012.Sales.ProtectedData04 
    VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
    EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO

Siehe auch

Verweis

DECRYPTBYASYMKEY (Transact-SQL)

CREATE ASYMMETRIC KEY (Transact-SQL)

Konzepte

Verschlüsselungshierarchie