Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Esta função desencripta os dados originalmente encriptados com uma frase de acesso.
Transact-SQL convenções de sintaxe
Sintaxe
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Arguments
Frase-passe
A palavra-passe usada para gerar a chave de desencriptação.
@passphrase
Uma variável do tipo char, nchar, nvarchar ou varchar contendo a frase de acesso usada para gerar a chave de desencriptação.
'texto cifrado'
A cadeia de dados criptografados com a chave.
CipherText tem um tipo de dados varbinary .
@ciphertext
Uma variável do tipo varbinary contendo 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 incluiu e criptografou um autenticador junto com o texto sem formatação.
add_authenticator tem um valor de 1 se o processo de criptografia usou um autenticador.
add_authenticator tem um tipo de dados int .
@add_authenticator
Uma variável que indica se o processo de encriptação original incluía e encriptava um autenticador juntamente com o texto simples. É @add_authenticator tem valor 1 se o processo de encriptação utilizou um autenticador.
@add_authenticator tem um tipo de dados int .
autenticador
Os dados utilizados como base para a geração do autenticador.
O autenticador tem um tipo de dados sysname .
@authenticator
Uma variável contendo dados usada como base para a geração dos autenticadores.
@authenticator tem um tipo de dados sysname .
Tipos de devolução
varbinary, com um tamanho máximo de 8.000 bytes.
Observações
DECRYPTBYPASSPHRASE não requer permissões para a sua execução.
DECRYPTBYPASSPHRASE retorna NULL se receber a frase de acesso errada ou a informação do autenticador errada.
DECRYPTBYPASSPHRASE usa a frase-passe para gerar uma chave de desencriptação. Esta chave de desencriptação não persistirá.
Se um autenticador foi incluído no momento da encriptação do texto cifrado, DECRYPTBYPASSPHRASE deve receber esse mesmo autenticador para o processo de desencriptação. Se o valor do autenticador fornecido para o processo de desencriptação não corresponder ao valor originalmente usado para encriptar os dados, a DECRYPTBYPASSPHRASE operação falhará.
Examples
Este exemplo desencripta o registo 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
Ver também
Escolha um algoritmo de encriptação
FRASE DE ENCRIPTAÇÃO BYPASSPHRASE (Transact-SQL)