Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Diese Funktion verschlüsselt Daten mit einem asymmetrischen Schlüssel.
Transact-SQL-Syntaxkonventionen
Syntax
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Argumente
asym_key_ID
Die ID eines asymmetrischen Schlüssels in der Datenbank.
asym_Key_ID weist den Datentyp int auf.
Klartext
Eine Zeichenfolge von Daten, die ENCRYPTBYASYMKEY mit dem asymmetrischen Schlüssel verschlüsselt.
Klartext kann die Datentypen
- binary
- char
- nchar
- nvarchar
- varbinary
oder
- varchar
aufweisen.
@plaintext
Eine Variable, die einen Wert enthält, der von ENCRYPTBYASYMKEY mit dem asymmetrischen Schlüssel verschlüsselt wird.
@plaintext kann die Datentypen
- binary
- char
- nchar
- nvarchar
- varbinary
oder
- varchar
aufweisen.
Rückgabetypen
varbinary mit einer maximalen Größe von 8.000 Byte.
Bemerkungen
Verschlüsselungs- und Entschlüsselungsvorgänge, die asymmetrische Schlüssel verwenden, verwenden viele Ressourcen und werden deshalb kostspielig, verglichen mit der Verschlüsselung und Entschlüsselung mit einem symmetrischen Schlüssel. Es wird empfohlen, dass Entwickler asymmetrische Schlüssel für Verschlüsselungs- und Entschlüsselungsvorgänge auf großen Datasets vermeiden, z.B. bei Benutzerdaten in Datenbanktabellen. Stattdessen sollten Entwickler die Daten zunächst mit einem starken symmetrischen Schlüssel verschlüsseln und dann diesen symmetrischen Schlüssel mit einem asymmetrischen Schlüssel verschlüsseln.
ENCRYPTBYASYMKEY gibt je nach Algorithmus NULL zurück, wenn die Eingabe eine bestimmte Anzahl von Bytes überschreitet. Die spezifischen Grenzwerte:
- 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
- Ein 2048-Bit-Schlüssel kann bis zu 245 Bytes verschlüsseln
Sowohl Zertifikate als auch asymmetrische Schlüssel dienen in SQL Server als Wrapper für RSA-Schlüssel.
Beispiele
Im folgenden Beispiel wird der in @cleartext gespeicherte Text mit dem asymmetrischen Schlüssel JanainaAsymKey02 verschlüsselt. Due Anweisung fügt die verschlüsselten Daten in die Tabelle ProtectedData04 ein.
INSERT INTO AdventureWorks2022.Sales.ProtectedData04
VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO
Weitere Informationen
DECRYPTBYASYMKEY (Transact-SQL)
ERSTELLE ASYMMETRISCHEN SCHLÜSSEL (Transact-SQL)
Verschlüsselungshierarchie