Aracılığıyla paylaş


DECRYPTBYCERT (Transact-SQL)

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

Bu fonksiyon, şifrelenmiş verileri çözmek için bir sertifikanın özel anahtarını kullanır.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

certificate_ID
Veritabanındaki bir sertifikanın kimliği. certificate_ID bir yapay zeka veri tipine sahiptir.

Ciphertext
Sertifikanın açık anahtarıyla şifrelenen veri dizisi.

@ciphertext
Sertifika ile şifrelenmiş veri içeren varbiner tipte bir değişken.

cert_password
Sertifikanın özel anahtarını şifrelemek için kullanılan parola. cert_password Unicode veri formatına sahip olmalı.

@cert_password
Sertifikanın özel anahtarını şifrelemek için kullanılan şifreyi içeren nchar veya nvarchar tipinde bir değişken. @cert_password Unicode veri formatına sahip olmalı.

Dönüş Türleri

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

Açıklamalar

Bu fonksiyon, bir sertifikanın özel anahtarıyla verileri şifre eder. Asimetrik anahtarlar kullanan kriptografik dönüşümler önemli kaynaklar tüketir. Bu nedenle, geliştiricilerin rutin kullanıcı verilerinin şifrelenmesi / şifresi çözmesi için ENCRYPTBYCERT ve DECRYPTBYCERT kullanımından kaçınmalarını öneriyoruz.

Permissions

DECRYPTBYCERT sertifikada CONTROL izni gerektirir.

Örnekler

Bu örnek, orijinal olarak sertifika JanainaCert02ile şifrelenmiş veri olarak işaretlenmiş satırlar [AdventureWorks2022].[ProtectedData04] seçer. Örnek önce sertifikanın özel anahtarını JanainaCert02 sertifikanın pGFD4bb925DGvbd2439587yşifresiyle çözer. Sonra, örnek bu özel anahtarla şifreli metni çözer. Örnek, çözülen verileri varbinary'dennvarchar'a dönüştürür.

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

Ayrıca Bkz.

ENCRYPTBYCERT (Transact-SQL)
SERTİFİKA OLUŞTUR (Transact-SQL)
SERTİFİKAYI DEĞİŞTİR (Transact-SQL)
DROP CERTİ (Transact-SQL)
YEDEKLEME SERTIFIKASI (Transact-SQL)
Şifreleme Hiyerarşisi