DECRYPTBYPASSPHRASE (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Essa função descriptografa os dados originalmente criptografados com uma frase secreta.
Convenções de sintaxe de Transact-SQL
Sintaxe
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Argumentos
passphrase
A frase secreta usada para gerar a chave de descriptografia.
@passphrase
Uma variável do tipo char, nchar, nvarcharou varchar que contém a frase secreta usada para gerar a chave de descriptografia.
'ciphertext'
A cadeia de caracteres de dados criptografados com a chave. ciphertext tem um tipo de dados varbinary.
@ciphertext
Uma variável do tipo varbinary que contém dados criptografados com a chave. A variável ciphertext tem um tamanho máximo de 8.000 bytes.
add_authenticator
Indica se o processo de criptografia original incluía, e criptografava, um autenticador junto com o texto não criptografado. add_authenticator teria um valor de 1, se o processo de criptografia usasse um autenticador. add_authenticator tem um tipo de dados int.
@add_authenticator
Uma variável que indica se o processo de criptografia original incluía, e criptografava, um autenticador junto com o texto não criptografado. add_authenticator teria um valor de 1, se o processo de criptografia usasse um autenticador. @add_authenticator tem um tipo de dados int.
authenticator
Os dados usados como base para a geração do autenticador. authenticator tem um tipo de dados sysname.
@authenticator
Uma variável contendo dados usados como a base para a geração dos autenticadores. @authenticator tem um tipo de dados sysname.
Tipos de retorno
varbinary, com um tamanho máximo de 8.000 bytes.
Comentários
DECRYPTBYPASSPHRASE
não requer nenhuma permissão para sua execução. DECRYPTBYPASSPHRASE
retorna NULL se recebe a frase secreta errada ou as informações do autenticador erradas.
DECRYPTBYPASSPHRASE
usa a frase secreta para gerar uma chave de descriptografia. Essa chave de descriptografia não será mantida.
Se um autenticador tiver sido incluído no momento da criptografia de texto cifrado, DECRYPTBYPASSPHRASE
precisará receber esse mesmo autenticador para o processo de descriptografia. Se o valor do autenticador fornecido para o processo de descriptografia não corresponder ao valor do autenticador originalmente usado para criptografar os dados, a operação DECRYPTBYPASSPHRASE
falhará.
Exemplos
Este exemplo descriptografa o registro atualizado em 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
Consulte Também
Escolher um algoritmo de criptografia
ENCRYPTBYPASSPHRASE (Transact-SQL)