DECRYPTBYPASSPHRASE (Transact-SQL)
Déchiffre des données chiffrées par une expression relative au mot de passe.
Conventions de la syntaxe Transact-SQL
Syntaxe
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
passphrase
Expression relative au mot de passe utilisée pour générer la clé de déchiffrement.@passphrase
Variable de type nvarchar, char, varchar ou nchar qui contient l'expression relative au mot de passe qui est utilisée pour générer la clé de déchiffrement.'ciphertext'
Texte à déchiffrer.@ciphertext
Variable de type varbinary qui contient le texte chiffré. La taille maximale est de 8 000 octets.add_authenticator
Indique si un authentificateur a été chiffré en même temps que le texte en clair. La valeur est 1 si un authentificateur a été utilisé. int.@add\_authenticator
Indique si un authentificateur a été chiffré en même temps que le texte en clair. La valeur est 1 si un authentificateur a été utilisé. int.authenticator
Données de l'authentificateur. sysname.@authenticator
Variable contenant les données à partir desquelles l'authentificateur sera dérivé.
Types de retour
Variable binaire varbinary de 8 000 octets au maximum.
Notes
Aucune autorisation n'est requise pour cette fonction.
Renvoie NULL si les informations de l'authentificateur ou de l'expression relative au mot de passe sont incorrectes.
L'expression relative au mot de passe est utilisée pour générer une clé de déchiffrement qui n'est pas persistante.
Si un authentificateur est inclus lorsque le texte est chiffré, il doit être fourni au moment du déchiffrement. Si la valeur de l'authentificateur fournie au moment du déchiffrement ne correspond pas à la valeur de l'authentificateur chiffrée avec les données, le déchiffrement échoue.
Exemples
L'exemple suivant déchiffre l'enregistrement mis à jour dans EncryptByPassPhrase.
USE AdventureWorks2012;
-- Get the pass phrase 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(nvarchar,
DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
, CONVERT(varbinary, CreditCardID)))
AS 'Decrypted card number' FROM Sales.CreditCard
WHERE CreditCardID = '3681';
GO
Voir aussi
Référence
ENCRYPTBYPASSPHRASE (Transact-SQL)