Share via


decryptbypassphrase (Transact-sql)

Parola ile şifrelenmiş verilerin şifresini çözer.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

DecryptByPassPhrase ( { 'passphrase' | @passphrase } 
    , { 'ciphertext' | @ciphertext }
  [ , { add_authenticator | @add_authenticator }
    , { authenticator | @authenticator } ] )

Bağımsız değişkenler

  • passphrase
    Şifre çözme anahtarı oluşturmak için kullanılan parola olduğunu.

  • @ parola
    Değişken türü nvarchar, char, varchar, ya ncharşifre çözme anahtarı oluşturmak için kullanılan parola içeren.

  • 'ciphertext'
    Ciphertext şifresi etmektir.

  • @ ciphertext
    Değişken türü varbinaryiçeren ciphertext. En çok 8.000 bayt boyutudur.

  • add_authenticator
    Bir kimlik doğrulayıcısı ile birlikte düz metin şifrelenmiş olup olmadığını gösterir. 1 İse, bir kimlik doğrulayıcısı kullanıldı. int.

  • @ add_authenticator
    Bir kimlik doğrulayıcısı ile birlikte düz metin şifrelenmiş olup olmadığını gösterir. 1 İse, bir kimlik doğrulayıcısı kullanıldı. int.

  • authenticator
    Kimlik Doğrulayıcı veridir. sysname.

  • @ Doğrulayıcı
    Gelen bir kimlik doğrulayıcısı türetmek verileri içeren bir değişkendir.

Dönüş Türleri

varbinary8.000 bayt maksimum boyutu ile.

Açıklamalar

Bu işlevi yürütmek için hiçbir izin gereklidir.

Yanlış parola veya kimlik bilgileri kullanılırsa null döndürüyor.

Parola değil kalıcı bir şifre çözme anahtarı oluşturmak için kullanılır.

Ne zaman ciphertext şifrelenmiş bir kimlik doğrulayıcısı varsa, kimlik doğrulayıcı şifre çözme anda sağlanmalıdır. Şifre çözme anda sağlanan doğrulayıcı değer veri ile şifrelenmiş kimlik doğrulayıcısı değerle eşleşmiyorsa, şifre çözme başarısız olur.

Örnekler

Aşağıdaki örnek güncellenen kaydın şifresini çözer EncryptByPassPhrase.

USE AdventureWorks2012;
-- Get the pass phrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser 
= 'A little learning is a dangerous thing!';

-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1 
    , CONVERT(varbinary, CreditCardID)))
    AS 'Decrypted card number' FROM Sales.CreditCard 
    WHERE CreditCardID = '3681';
GO

USE AdventureWorks2012;
-- Get the pass phrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser 
= 'A little learning is a dangerous thing!';

-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1 
    , CONVERT(varbinary, CreditCardID)))
    AS 'Decrypted card number' FROM Sales.CreditCard 
    WHERE CreditCardID = '3681';
GO

Ayrıca bkz.

Başvuru

encryptbypassphrase (Transact-sql)

Kavramlar

Şifreleme algoritması seçin