EncryptByCert (Transact-SQL)
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.
- 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 [AdventureWorks].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO
Siehe auch
Verweis
DecryptByCert (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)