Partage via


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