ENCRYPTBYPASSPHRASE (Transact-SQL)
Szyfrowanie danych za pomocą hasła.
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