Aracılığıyla paylaş


encryptbypassphrase (Transact-SQL)

Parola ile veriyi şifrele.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • passphrase
    Simetrik anahtariçinden parola.

  • @passphrase
    Türünde bir değişken nvarchar, char, varchar, binary, varbinary, veya nchar bir simetrik anahtariçinden parola içeren.

  • cleartext
    Şifrelenecek düz metin .

  • @cleartext
    Türünde bir değişken nvarchar, char, varchar, binary, varbinary, veya nchar düz metiniçeren.8.000 Bayt maksimum boyutudur.

  • add_authenticator
    düz metinile birlikte bir doğrulayıcı şifreli olup olmadığını gösterir.1 bir doğrulayıcı eklenir.int.

  • @add_authenticator
    düz metinile birlikte bir karma şifreli olup olmadığını gösterir.

  • authenticator
    Gelen bir doğrulayıcıtüretmek verileri.sysname.

  • @authenticator
    Gelen bir doğrulayıcıtüretmek verileri içeren değişken.

Dönüş Türleri

varbinaryen çok 8.000 bayt boyutu ile.

Açıklamalar

Parola, boşluklar içeren bir paroladır.Parola kullanmanın avantajı, anlamlı bir tümcecik veya tümceyi karakter bulma uzun bir dize anımsamak üzere daha kolay olmasıdır.

Bu işlev , parola karmaşıklık denetlemez.

Örnekler

Aşağıdaki örnek bir kaydı güncelleştirir SalesCreditCardtablo ve sütundepolanan kredi kartı numarasını şifreler CardNumber_EncryptedbyPassphrase, birincil anahtar bir doğrulayıcıkullanma.

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