ENCRYPTBYCERT (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Chiffre des données au moyen de la clé publique d'un certificat.
Conventions de la syntaxe Transact-SQL
Syntaxe
EncryptByCert ( certificate_ID , { 'cleartext' | @cleartext } )
Arguments
certificate_ID
ID d'un certificat de la base de données. int.
texte clair
Chaîne de données chiffrées avec le certificat.
@cleartext
Variable de l’un des types suivants, dont les données seront chiffrées avec la clé publique du certificat :
- nvarchar
- char
- varchar
- binary
- varbinary
- nchar
Types de retour
varbinary d’une taille maximale de 8 000 octets.
Remarques
Cette fonction chiffre des données à l’aide de la clé publique du certificat. Seule la clé privée correspondante peut déchiffrer le texte chiffré. Ces 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.
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 [AdventureWorks2022].[ProtectedData04]
VALUES ( N'Data encrypted by certificate ''Shipping04''',
EncryptByCert(Cert_ID('JanainaCert02'), @cleartext) );
GO
Voir aussi
DECRYPTBYCERT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Hiérarchie de chiffrement