Aracılığıyla paylaş


decryptbycert (Transact-SQL)

Bir sertifikaözel anahtar kullanarak verilerin şifresini çözer.

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

Sözdizimi

DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext } 
    [ , { 'cert_password' | @cert_password } ] )

Bağımsız değişkenler

  • certificate_ID
    sertifika veritabanı kimliğidir.certificate_ID is int.

  • ciphertext
    Bir dize şifrelenmiş veri ile sertifikaortak anahtar olur.

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

  • cert_password
    sertifikaözel anahtar şifrelemek için kullanılan parola değil.Unicode olmalıdır.

  • @ cert_password
    Türünde bir değişken olan nchar veya nvarchar sertifikaözel anahtar şifrelemek için kullanılan parolayı içerir.Unicode olmalıdır.

Dönüş Türleri

varbinaryen çok 8.000 bayt boyutunu ile.

Açıklamalar

Bu işlev bir sertifikaözel anahtar kullanarak verilerin şifresini çözer.Asimetrik anahtarları kullanan şifreleme dönüşümleri önemli kaynaklarını tüketebilir.Bu nedenle, EncryptByCert ve DecryptByCert rutin şifreleme kullanıcı verileri için uygundur değil.

İzinler

sertifikacontrol izni gerektirir.

Örnekler

Aşağıdaki örnek alınan satırların seçer [AdventureWorks2008R2].[ProtectedData04] olarak işaretlenmiş data encrypted by certificate JanainaCert02.Örnek haline sertifikaözel anahtar şifresini çözerJanainaCert02, kendisi ise bu şifreyi ilk çözer sertifika, parola ile pGFD4bb925DGvbd2439587y. Şifresi çözülmüş veri dönüştürülür varbinary için nvarchar.

SELECT convert(nvarchar(max), DecryptByCert(Cert_Id('JanainaCert02'),
    ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2008R2].[ProtectedData04] 
WHERE Description 
    = N'data encrypted by certificate '' JanainaCert02''';
GO