DECRYPTBYPASSPHRASE (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Cette fonction déchiffre les données chiffrées à l’origine avec une phrase secrète.
Conventions de la syntaxe Transact-SQL
Syntaxe
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
passphrase
Phrase secrète utilisée pour générer la clé de déchiffrement.
@passphrase
Variable de type char, nchar, nvarcharou varchar contenant la phrase secrète utilisée pour générer la clé de déchiffrement.
'ciphertext'
Chaîne de données chiffrées avec la clé. ciphertext a le type de données varbinary.
@ciphertext
Variable de type varbinary contenant des données chiffrées avec la clé. La variable@ciphertext a une taille maximale de 8 000 octets.
add_authenticator
Indique si le processus de chiffrement d’origine comprend et chiffre un authentificateur avec le texte en clair. add_authenticator a la valeur 1 si le processus de chiffrement utilise un authentificateur. add_authenticator a le type de données int.
@add_authenticator
Variable indiquant si le processus de chiffrement d’origine comprend et chiffre un authentificateur avec le texte en clair. @add_authenticador a t-il la valeur 1 si le processus de chiffrement utilise un authentificateur. @add_authenticator a un type de données int.
authenticator
Données utilisées comme base pour la génération de l’authentificateur. authenticator a le type de données sysname.
@authenticator
Variable contenant les données utilisées comme base pour la génération des authentificateurs. @authenticator a un type de données sysname.
Types de retour
varbinary d’une taille maximale de 8 000 octets.
Notes
DECRYPTBYPASSPHRASE
ne nécessite pas d’autorisations pour son exécution. DECRYPTBYPASSPHRASE
retourne NULL si elle reçoit la phrase secrète ou les informations de l’authentificateur incorrectes.
DECRYPTBYPASSPHRASE
utilise la phrase secrète pour générer une clé de déchiffrement. Cette clé de déchiffrement n’est pas conservée.
Si un authentificateur a été inclus au moment du chiffrement du texte chiffré, DECRYPTBYPASSPHRASE
doit recevoir ce même authentificateur pour le processus de déchiffrement. Si la valeur de l’authentificateur fournie pour le processus de déchiffrement ne correspond pas à celle initialement utilisée pour chiffrer les données, l’opération DECRYPTBYPASSPHRASE
échoue.
Exemples
L’exemple suivant déchiffre l’enregistrement mis à jour dans EncryptByPassPhrase.
USE AdventureWorks2022;
-- Get the passphrase from the user.
DECLARE @PassphraseEnteredByUser NVARCHAR(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';
-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase
AS 'Encrypted card number', CONVERT(varchar,
DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
, CONVERT(varbinary, CreditCardID)))
AS 'Decrypted card number' FROM Sales.CreditCard
WHERE CreditCardID = '3681';
GO
Voir aussi
Choisir un algorithme de chiffrement
ENCRYPTBYPASSPHRASE (Transact-SQL)