DECRYPTBYCERT (Transact-SQL)
S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
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 } ] )
Remarque
Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.
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)
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
Hiérarchie de chiffrement
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour