Udostępnij za pośrednictwem


ENCRYPTBYPASSPHRASE (Transact-SQL)

Szyfrowanie danych za pomocą hasła.

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

EncryptByPassPhrase ( { 'passphrase' | @passphrase } 
        , { 'cleartext' | @cleartext }
    [ , { add_authenticator | @add_authenticator }
        , { authenticator | @authenticator } ] )

Argumenty

  • passphrase
    Hasło dla generatora klucz zawartości.

  • @ hasło
    Zmienna typu nvarchar, char, varchar, binary, varbinary, lub nchar zawiera hasło, z których można wygenerować klucz symetrycznego.

  • cleartext
    zwykły tekst były szyfrowane.

  • @ zwykły tekst
    Zmienna typu nvarchar, char, varchar, binary, varbinary, lub nchar zawierającej zwykły tekst. Maksymalny rozmiar wynosi 8000 bajtów.

  • add_authenticator
    Wskazuje, czy razem z zwykły tekst będą szyfrowane wystawca uwierzytelnienia.1, jeśli zostaną dodane wystawca uwierzytelnienia.int.

  • @ add_authenticator
    Wskazuje, czy wartość mieszania będą szyfrowane razem z zwykły tekst.

  • authenticator
    Dane, z którego ma pochodzić wystawca uwierzytelnienia.sysname.

  • @ wystawca uwierzytelnienia
    Zmienna, zawierający dane, z którego ma pochodzić wystawca uwierzytelnienia.

Zwracane typy

varbinarnym o rozmiarze maksymalnie 8000 bajtów.

Remarks

Hasło to hasło, które zawiera znak spacji.Zaletą stosowania hasło jest łatwiejsza do zapamiętania znaczenie frazę lub zdanie niż porównywalnie długi ciąg znaków, pamiętaj, aby.

Ta funkcja nie będzie sprawdzał złożoności haseł.

Przykłady

W poniższym przykładzie aktualizacje rekordu w SalesCreditCard Tabela i szyfruje wartość numeru karty kredytowej, przechowywane kolumna CardNumber_EncryptedbyPassphrase, przy użyciu klucz podstawowy, jak wystawca uwierzytelnienia.

USE AdventureWorks;
GO
-- Create a column in which to store the encrypted data.
ALTER TABLE Sales.CreditCard 
    ADD CardNumber_EncryptedbyPassphrase varbinary(256); 
GO
-- First get the passphrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser 
    = 'A little learning is a dangerous thing!';

-- Update the record for the user's credit card.
-- In this case, the record is number 3681.
UPDATE Sales.CreditCard
SET CardNumber_EncryptedbyPassphrase = EncryptByPassPhrase(@PassphraseEnteredByUser
    , CardNumber, 1, CONVERT( varbinary, CreditCardID))
WHERE CreditCardID = '3681';
GO

See Also

Reference

Other Resources