Aracılığıyla paylaş


DECRYPTBYKEY (Transact-SQL)

Bir simetrik anahtar kullanılarak, verilerin şifresini çözer.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • ciphertext
    Is data that has been encrypted with the key.ciphertext is varbinary.

  • @ ciphertext
    Türünde bir değişken mi varbinary Ortak anahtar ile şifrelenmiş veriyi içerir.

  • add_authenticator
    Düz metin'ile birlikte bir doğrulayıcı şifrelenmiş olup olmadığını gösterir.Must be the same value passed to EncryptByKey when encrypting the data.add_authenticator is int.

  • authenticator
    Bir doğrulayıcı oluşturmak hangi veri belirtilir.Must match the value that was supplied to EncryptByKey.authenticator is sysname.

  • doğrulayıcı'nın
    Bir doğrulayıcı oluşturmak istediğiniz verileri içeren değişken belirtilir.EncryptByKey için sağlanan değerin eşleşmesi gerekir.

Dönüş Türleri

varbinary bir en büyük boyutu çok 8.000 bayt ile.

Remarks

DecryptByKey bir simetrik anahtar kullanır.Bu bir simetrik anahtar zaten veritabanında açık olması gerekir.Olabilir birden çok anahtar açık aynı anda.Anahtar şifreleme metni şifresi çözülüyor hemen önce açmak zorunda değil.

Simetrik şifreleme ve şifre çözme göreli olarak hızlıdır ve büyük miktarda veriyle çalışmak için uygundur.

İzinler

Geçerli oturumda açık için simetrik anahtar gerektirir.Daha fazla bilgi için bkz:SIMETRIK ANAHTAR (Transact-SQL) AÇıN..

Örnekler

C.Bir simetrik anahtar kullanılarak şifresi çözülüyor

Aşağıdaki örnek, bir simetrik anahtar kullanılarak ciphertext şifresini çözer.

-- First, open the symmetric key with which to decrypt the data.
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037;
GO

-- Now list the original ID, the encrypted ID, and the 
-- decrypted ciphertext. If the decryption worked, the original
-- and the decrypted ID will match.
SELECT NationalIDNumber, EncryptedNationalID 
    AS 'Encrypted ID Number',
    CONVERT(nvarchar, DecryptByKey(EncryptedNationalID)) 
    AS 'Decrypted ID Number'
    FROM HumanResources.Employee;
GO

b.Simetrik anahtar ve kimlik doğrulaması yapan bir karma değeri kullanılarak şifresi çözülüyor

Aşağıdaki örnek, bir doğrulayıcı ile birlikte şifrelenen verilerin şifresini çözer.

-- First, open the symmetric key with which to decrypt the data
OPEN SYMMETRIC KEY CreditCards_Key11
   DECRYPTION BY CERTIFICATE Sales09;
GO

-- Now list the original card number, the encrypted card number,
-- and the decrypted ciphertext. If the decryption worked, 
-- the original number will match the decrypted number.
SELECT CardNumber, CardNumber_Encrypted 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByKey(CardNumber_Encrypted, 1 , 
    HashBytes('SHA1', CONVERT(varbinary, CreditCardID)))) 
    AS 'Decrypted card number' FROM Sales.CreditCard;
GO