Udostępnij za pośrednictwem


DECRYPTBYPASSPHRASE (Transact-SQL)

Odszyfrowuje dane, które zostały zaszyfrowane przy użyciu hasła.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • passphrase
    Czy hasło, które ma zostać użyta do wygenerowania klucz do odszyfrowywania.

  • @ hasło
    Jest zmienną typu nvarchar, char, varchar, lub nchar zawiera hasło, które ma zostać użyta do wygenerowania klucz do odszyfrowywania.

  • 'ciphertext'
    Czy szyfrowany ma zostać odszyfrowane.

  • @ szyfrowany
    Jest zmienną typu varbinary zawierającej szyfrowany. Maksymalny rozmiar wynosi 8000 bajtów.

  • add_authenticator
    Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz z zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia.int.

  • @ add_authenticator
    Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz z zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia.int.

  • authenticator
    Jest to wystawca uwierzytelnienia.sysname.

  • @ wystawca uwierzytelnienia
    Czy zmienna, która zawiera dane, z którego ma pochodzić wystawca uwierzytelnienia.

Zwracane typy

varbinary Maksymalny rozmiar 8000 bajtów.

Remarks

Uprawnienia nie są wymagane do wykonywania tej funkcja.

Zwraca wartość NULL, jeśli jest używane są nieprawidłowe informacje hasła lub wystawca uwierzytelnienia.

Hasło jest używany do generowania klucz odszyfrowywania, które nie zostaną utrwalone.

Jeśli wystawca uwierzytelnienia został dołączony, gdy został zaszyfrowany szyfrowany, uwierzytelniającym należy podać w odszyfrowywania czas.Jeśli wartość wystawca uwierzytelnienia, pod warunkiem że w czasie odszyfrowywanie nie odpowiada wartości wystawca uwierzytelnienia, zaszyfrowane przy użyciu danych, odszyfrowywanie nie powiedzie się.

Przykłady

W poniższym przykładzie odszyfrowuje zaktualizowane w rekordzie 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