Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Cette fonction utilise la clé privée d’un certificat pour déchiffrer les données chiffrées.
Conventions de la syntaxe Transact-SQL
Syntaxe
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Arguments
certificate_ID
ID d'un certificat de la base de données.
certificate_ID a le type de données int.
ciphertext
Chaîne de données chiffrée avec la clé publique du certificat.
@ciphertext
Variable de type varbinary contenant des données chiffrées avec le certificat.
cert_password
Mot de passe utilisé pour chiffrer la clé privée du certificat.
cert_password doit avoir un format de données Unicode.
@cert_password
Variable de type nchar ou nvarchar contenant le mot de passe utilisé pour chiffrer la clé privée du certificat.
@cert_password doit avoir un format de données Unicode.
Types de retour
varbinary d’une taille maximale de 8 000 octets.
Notes
Cette fonction déchiffre les données à l'aide de la clé privée d'un certificat. Les opérations de chiffrement/déchiffrement qui utilisent des clés asymétriques consomment une grande quantité de ressources. Nous recommandons donc aux développeurs d’éviter d’utiliser ENCRYPTBYCERT et DECRYPTBYCERT pour les opérations de chiffrement/déchiffrement de routine des données utilisateur.
Autorisations
DECRYPTBYCERT nécessite l’autorisation CONTROL sur le certificat.
Exemples
Cet exemple sélectionne des lignes de [AdventureWorks2022].[ProtectedData04] marquées comme données chiffrées à l’origine par le certificat JanainaCert02. L’exemple déchiffre tout d’abord la clé privée du certificat JanainaCert02 avec le mot de passe du certificat pGFD4bb925DGvbd2439587y. L’exemple déchiffre ensuite le texte chiffré avec cette clé privée. L’exemple convertit les données déchiffrées du type varbinary en type nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Voir aussi
ENCRYPTBYCERT (Transact-SQL)
CRÉER CERTIFICAT (Transact-SQL)
CERTIFICAT ALTER (Transact-SQL)
CERTIFICAT DE RETRAIT (Transact-SQL)
CERTIFICAT DE SECOURS (Transact-SQL)
Hiérarchie de chiffrement