Aracılığıyla paylaş


decryptbykey (Transact-SQL)

Simetrik anahtarkullanarak verilerin şifresini çözer.

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

Sözdizimi

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

Bağımsız değişkenler

  • ciphertext
    ' % S'anahtar anahtarile şifrelenmiş verilerdir.ciphertextis varbinary.

  • @ haline
    Türünde bir değişken olan varbinary ' % s'anahtar anahtarile şifrelenmiş verileri içeren.

  • add_authenticator
    Bir doğrulayıcı ile birlikte düz metinşifrelenmiş olup olmadığını gösterir.Aynı değer EncryptByKey için veri şifrelerken geçirilmelidir.add_authenticatoris int.

  • authenticator
    Gelen bir doğrulayıcıüretileceği verilerdir.EncryptByKey için sağlanan değerin eşleşmesi gerekir.authenticatorİş sysname.

  • doğrulayıcı@
    Gelen bir doğrulayıcıoluşturmak verileri içeren bir değişkendir.EncryptByKey için sağlanan değerin eşleşmesi gerekir.

Dönüş Türleri

varbinaryen çok 8.000 bayt boyutunu ile.

Açıklamalar

DecryptByKey simetrik anahtarkullanır.Bu simetrik anahtar zaten veritabanında açık olması gerekir.Olabilir birden çok anahtar aynı saataçık.anahtar şifre metin şifre çözme hemen önce açmak gerekmez.

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

İzinler

Geçerli oturumaçmış olduğunuz için simetrik anahtar gerektirir.Daha fazla bilgi için, bkz. SİMETRİK anahtar (Transact-SQL) açın.

Örnekler

A.Simetrik anahtarkullanılarak şifre çözme

Aşağıdaki örnek simetrik anahtarkullanarak şifreli metine ş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 bir kimlik doğrulama karma değeri kullanarak şifrelerini çözme

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