ENCRYPTBYCERT (Transact-SQL)

Verschlüsselt Daten mit dem öffentlichen Schlüssel eines Zertifikats.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )

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.

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

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.

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 [AdventureWorks].[ProtectedData04] 
    values( N'data encrypted by certificate ''Shipping04''',
    EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO

Community-Beiträge

HINZUFÜGEN
Anzeigen: