ENCRYPTBYCERT (Transact-SQL)
Verschlüsselt Daten mit dem öffentlichen Schlüssel eines Zertifikats.
Syntax
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Argumente
certificate_ID
Die ID eines Zertifikats in der Datenbank. int.cleartext
Eine Zeichenfolge mit Daten, die mit dem Zertifikat verschlüsselt werden.@cleartext
Eine Variable vom Typ nvarchar, char, varchar, binary, varbinary oder nchar mit Daten, die mit dem öffentlichen Schlüssel des Zertifikats verschlüsselt werden.
Rückgabetypen
varbinary mit einer maximalen Größe von 8.000 Bytes.
Hinweise
Diese Funktion verschlüsselt Daten mit dem öffentlichen Schlüssel eines Zertifikats. Der verschlüsselte Text kann nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden. Solche asymmetrischen Transformationen sind im Vergleich zum Verschlüsseln und Entschlüsseln mit einem symmetrischen Schlüssel sehr aufwändig. Von der asymmetrischen Verschlüsselung wird daher abgeraten, wenn Sie große Datasets, wie z. B. Benutzerdaten in Tabellen, 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 [AdventureWorks2008R2].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO