Aracılığıyla paylaş


DECRYPTBYPASSPHRASE (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bu fonksiyon, başlangıçta şifrelenmiş bir şifre ifadesiyle şifrelenmiş verileri çözer.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

Parola
Şifre çözme anahtarını oluşturmak için kullanılan şifre.

@passphrase
Şifre çözme anahtarını oluşturmak için kullanılan şifreyi içeren char, nchar, nvarchar veya varchar tipindeki bir değişken.

'şifre metni'
Anahtarla şifrelenen veri dizesi. şifre metnininbir varbinary veri türü vardır.

@ciphertext
Anahtarla şifrelenmiş verileri içeren değişken türünde bir değişken. @ciphertext değişkenin maksimum boyutu 8.000 bayttır.

add_authenticator
Özgün şifreleme işleminin düz metinle birlikte bir kimlik doğrulayıcının eklenip eklenmediğini ve şifrelenip şifrelenmediğini gösterir. şifreleme işlemi bir doğrulayıcı kullandıysa add_authenticator 1 değerine sahiptir. add_authenticatorint veri türüne sahiptir.

@add_authenticator
Özgün şifreleme işleminin düz metinle birlikte bir kimlik doğrulayıcının dahil edilip edilmediğini ve şifrelenip şifrelenmediğini gösteren değişken. Şifreleme işlemi bir authenticator kullanıyorsa @add_authenticator değeri 1 olur. @add_authenticatorint veri türüne sahiptir.

Doğrulayıcı
Kimlik doğrulayıcının oluşturulması için temel olarak kullanılan veriler. authenticator bir sysname veri türüne sahiptir.

@authenticator
Kimlik doğrulama cihazlarının oluşturulması için temel olarak kullanılan veri içeren bir değişken. @authenticator bir sysname veri türüne sahiptir.

Dönüş Türleri

en büyük boyutu 8.000 bayt olan varbinary.

Açıklamalar

DECRYPTBYPASSPHRASE yürütülmesi için izin gerektirmez. DECRYPTBYPASSPHRASE yanlış şifre veya yanlış kimlik doğrulama bilgisi alırsa NULL döndürür.

DECRYPTBYPASSPHRASE şifre ifadesini kullanarak bir şifre çözme anahtarı oluşturur. Bu şifre çözme anahtarı devam etmeyecek.

Şifreli metin şifreleme sırasında bir kimlik doğrulama cihazı dahil edilmişse, DECRYPTBYPASSPHRASE şifreleme işlemi için aynı doğrulama cihazını almak zorundadır. Şifre çözme süreci için sağlanan kimlik doğrulama değeri, veriyi şifrelemek için kullanılan orijinal kimlik doğrulama değeriyle eşleşmiyorsa, DECRYPTBYPASSPHRASE işlem başarısız olur.

Örnekler

Bu örnek, EncryptByPassPhrase'de güncellenen kaydı şifre eder.

USE AdventureWorks2022;  
-- Get the passphrase 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(varchar,  
    DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1   
    , CONVERT(varbinary, CreditCardID)))  
    AS 'Decrypted card number' FROM Sales.CreditCard   
    WHERE CreditCardID = '3681';  
GO  

Ayrıca Bkz.

Şifreleme Algoritması Seçme
ENCRYPTBYPASSPHRASE (Transact-SQL)