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 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
Phrase ENCRYPTBYPASS (Transact-SQL)