DECRYPTBYPASSPHRASE (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Questa funzione decrittografa i dati originariamente crittografati con una passphrase.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Argomenti
passphrase
Passphrase usata per generare la chiave di decrittografia.
@passphrase
Variabile di tipo char, nchar, nvarchar o varchar contenente la passphrase usata per generare la chiave di decrittografia.
'ciphertext'
Stringa di dati crittografata con la chiave. ciphertext ha un tipo dati varbinary.
@ciphertext
Variabile di tipo varbinary contenente dati crittografati con la chiave. La variabile @ciphertext ha una dimensione massima di 8.000 byte.
add_authenticator
Indica se il processo di crittografia originale includeva e crittografava un autenticatore insieme al testo non crittografato. add_authenticator ha un valore pari a 1 se il processo di crittografia ha usato un autenticatore. add_authenticator ha un tipo di dati int.
@add_authenticator
Variabile che indica se il processo di crittografia originale includeva e crittografava un autenticatore insieme al testo non crittografato. @add_authenticator ha un valore pari a 1 se il processo di crittografia ha usato un autenticatore. @add_authenticator ha un tipo di dati int.
authenticator
Dati usati come base per la generazione dell'autenticatore. authenticator ha un tipo di dati sysname.
@authenticator
Variabile contenente i dati usati come base per la generazione degli autenticatori. @authenticator ha un tipo di dati sysname.
Tipi restituiti
varbinary con un valore massimo di 8.000 byte.
Osservazioni:
DECRYPTBYPASSPHRASE
non richiede autorizzazioni per l'esecuzione. DECRYPTBYPASSPHRASE
restituisce NULL se riceve la passphrase non corretta o informazioni errate sull'autenticatore.
DECRYPTBYPASSPHRASE
usa la passphrase per generare la chiave di decrittografia. Questa chiave di decrittografia non sarà persistente.
Se è stato incluso un autenticatore durante la crittografia del testo, DECRYPTBYPASSPHRASE
deve ricevere lo stesso autenticatore per il processo di decrittografia. Se il valore dell'autenticatore fornito per il processo di decrittografia non corrisponde al valore dell'autenticatore usato originariamente per crittografare i dati, non sarà possibile completare l'operazione DECRYPTBYPASSPHRASE
.
Esempi
Questo esempio decrittografa il record aggiornato in 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
Vedi anche
Scelta di un algoritmo di crittografia
ENCRYPTBYPASSPHRASE (Transact-SQL)