Esta documentación está archivada y no tiene mantenimiento.

DecryptByPassPhrase (Transact-SQL)

Descifra los datos que se cifraron con una frase de contraseña.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL


DecryptByPassPhrase (
                       { 'passphrase' | @passphrase } 
                                              , { 'ciphertext' | @ciphertext }
                       [ 
                                                    , { add_authenticator | @add_authenticator }
                                                    , { authenticator | @authenticator } 
                       ]                   
                                        ) 

passphrase

Frase de contraseña que se utilizará para generar la clave para el descifrado.

@passphrase

Es una variable de tipo nvarchar, char, varchar o nchar que contiene la frase de contraseña que se utilizará para generar la clave de descifrado.

'ciphertext'

Es el texto cifrado que hay que descifrar.

@ciphertext

Es una variable de tipo varbinary que contiene el texto cifrado. El tamaño máximo es 8.000 bytes.

add_authenticator

Indica si se ha cifrado un autenticador junto con el texto simple. Es 1 si se ha utilizado un autenticador. int.

@add_authenticator

Indica si se ha cifrado un autenticador junto con el texto simple. Es 1 si se ha utilizado un autenticador. int.

authenticator

Son los datos del autenticador. sysname.

@authenticator

Es una variable que contiene los datos de los que se derivará un autenticador.

varbinary con un tamaño máximo de 8.000 bytes.

No es necesario ningún permiso para ejecutar esta función.

Devuelve NULL si se utiliza la información de autenticador o frase de contraseña errónea.

La frase de contraseña se utiliza para generar una clave de descifrado, que no será permanente.

Si al cifrar el texto cifrado se incluyó un autenticador, éste debe incluirse en el momento del descifrado. Si el valor del autenticador proporcionado en el momento del descifrado no coincide con el valor cifrado con los datos, se producirá un error en el descifrado.

En el ejemplo siguiente se descifra el registro actualizado en EncryptByPassPhrase.

USE AdventureWorks;
-- 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
Mostrar: