ENCRYPTBYCERT (Transact-SQL)
Chiffre des données au moyen de la clé publique d'un certificat.
Syntaxe
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Arguments
certificate_ID
ID d'un certificat de la base de données. int.cleartext
Chaîne de données chiffrées avec le certificat.@cleartext
Variable de type nvarchar, char, varchar, binary, varbinary ou nchar dont les données seront chiffrées avec la clé publique du certificat.
Type des valeurs renvoyées
Variable binaire varbinary de 8 000 octets au maximum.
Notes
Cette fonction chiffre des données au moyen de la clé publique d'un certificat. Seule la clé privée correspondante peut déchiffrer le texte chiffré. De telles transformations asymétriques sont coûteuses par rapport au chiffrement/déchiffrement avec une clé symétrique. Par conséquent, le chiffrement asymétrique n'est pas recommandé avec des ensembles de données volumineux tels que les données utilisateur dans des tables.
Exemples
Cet exemple chiffre le texte en clair stocké dans @cleartext avec le certificat JanainaCert02. Les données chiffrées sont insérées dans la table ProtectedData04.
INSERT INTO [AdventureWorks].[ProtectedData04]
values( N'data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO