ENCRYPTBYCERT (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance
Verschlüsselt Daten mit dem öffentlichen Schlüssel eines Zertifikats.
Transact-SQL-Syntaxkonventionen
Syntax
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Argumente
certificate_ID
Die ID eines Zertifikats in der Datenbank. int.
Klartext
Eine Zeichenfolge mit Daten, die mit dem Zertifikat verschlüsselt werden.
@cleartext
Eine Variable eines der folgenden Typen, die Daten enthalten, die mit dem öffentlichen Schlüssel des Zertifikats verschlüsselt werden:
- nvarchar
- char
- varchar
- binary
- varbinary
- nchar
Rückgabetypen
varbinary mit einer maximalen Größe von 8.000 Bytes.
Bemerkungen
Diese Funktion verschlüsselt Daten mit dem öffentlichen Schlüssel des Zertifikats. Der verschlüsselte Text kann nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden. Diese asymmetrischen Transformationen sind im Vergleich zum Verschlüsseln und Entschlüsseln mit einem symmetrischen Schlüssel kostenintensiv. Von der asymmetrischen Verschlüsselung wird daher abgeraten, wenn Sie große Datasets verwenden.
Beispiele
In diesem Beispiel wird der in @cleartext
gespeicherte Nur-Text mit dem Zertifikat mit dem Namen JanainaCert02
verschlüsselt. Die verschlüsselten Daten werden in die ProtectedData04
-Tabelle eingefügt.
INSERT INTO [AdventureWorks2022].[ProtectedData04]
VALUES ( N'Data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO
Weitere Informationen
DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Verschlüsselungshierarchie