decryptbycert (Transact-SQL)
Bir sertifikaözel anahtar kullanarak verilerin şifresini çözer.
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