Udostępnij za pośrednictwem


ENCRYPTBYPASSPHRASE (Transact-SQL)

Szyfrowanie danych za pomocą hasła.

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

Składnia

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

Argumenty

  • passphrase
    Hasło dla generatora kluczsymetryczny.

  • @passphrase
    Zmienna typu nvarchar, char, varchar, binary, varbinary, lub nchar zawierających hasło dla generatora kluczsymetryczny.

  • cleartext
    zwykły tekst były szyfrowane.

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

  • add_authenticator
    Wskazuje, czy wystawca uwierzytelnienia będą szyfrowane razem z zwykły tekst.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 pochodzi wystawca uwierzytelnienia.sysname.

  • @authenticator
    Zmienna, zawierającą dane, z którego pochodzi wystawca uwierzytelnienia.

Zwracane typy

varbinaryMaksymalny rozmiar 8000 bajtów.

Uwagi

Hasło to hasło, które zawiera spacje.Zaletą używania hasła jest, że jest łatwiejsze do zapamiętania znaczenie frazy lub zdania niż porównywalnie długi ciąg znaków.

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

Przykłady

Poniższy przykład aktualizacje rekordu w SalesCreditCard tabela i szyfruje wartość numeru karty kredytowej, przechowywane w kolumna CardNumber_EncryptedbyPassphrase, przy użyciu klucz podstawowego jako wystawca uwierzytelnienia.

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