encryptbypassphrase (Transact-SQL)
Parola ile veriyi şifrele.
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