Udostępnij za pośrednictwem


DECRYPTBYPASSPHRASE (Transact-SQL)

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

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • passphrase
    To hasło, który zostanie użyty do wygenerowania klucz odszyfrowywania.

  • @ hasło
    Jest zmienną typu nvarchar, char, varchar, lub nchar zawiera hasło, które będą używane do generowania klucz odszyfrowywania.

  • 'ciphertext'
    Odszyfrowanie, jest szyfrowany.

  • @ dekodującym
    Jest zmienną typu varbinary zawierający dekodującym.Maksymalny rozmiar jest 8000 bajtów.

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

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

  • authenticator
    Są to dane wystawca uwierzytelnienia .sysname.

  • @wystawca uwierzytelnienia
    Jest zmienna, która zawiera dane, z którego pochodzi wystawca uwierzytelnienia.

Zwracane typy

varbinaryMaksymalny rozmiar 8000 bajtów.

Uwagi

Uprawnienia nie są wymagane do wykonywania tej funkcja.

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

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

Jeśli wystawca uwierzytelnienia został dołączony, gdy został zaszyfrowany szyfrowany, wystawca uwierzytelnienia muszą być zapewnione w odszyfrowywania czas.Podana wartość wystawca uwierzytelnienia w odszyfrowywania czas niezgodna wartość wystawca uwierzytelnienia zaszyfrowane przy użyciu danych odszyfrowywanie nie powiedzie się.

Przykłady

Poniższy przykład odszyfrowuje rekordu aktualizowane w EncryptByPassPhrase.

USE AdventureWorks2008R2;
-- 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