DECRYPTBYCERT (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Fungsi ini menggunakan kunci privat sertifikat untuk mendekripsi data terenkripsi.
Sintaks
DecryptByCert ( certificate_ID , { 'ciphertext' | @ciphertext }
[ , { 'cert_password' | @cert_password } ] )
Argumen
certificate_ID
ID sertifikat dalam database. certificate_ID memiliki jenis data int.
Ciphertext
String data yang dienkripsi dengan kunci publik sertifikat.
@ciphertext
Variabel jenis varbinary yang berisi data yang dienkripsi dengan sertifikat.
cert_password
Kata sandi yang digunakan untuk mengenkripsi kunci privat sertifikat. cert_password harus memiliki format data Unicode.
@cert_password
Variabel jenis nchar atau nvarchar yang berisi kata sandi yang digunakan untuk mengenkripsi kunci privat sertifikat. @cert_password harus memiliki format data Unicode.
Jenis Kembalian
varbinary, dengan ukuran maksimum 8.000 byte.
Keterangan
Fungsi ini mendekripsi data dengan kunci privat sertifikat. Transformasi kriptografi yang menggunakan kunci asimetris menggunakan sumber daya yang signifikan. Oleh karena itu, kami menyarankan agar pengembang menghindari penggunaan ENCRYPTBYCERT dan DECRYPTBYCERT untuk enkripsi/dekripsi data pengguna rutin.
Izin
DECRYPTBYCERT
memerlukan izin CONTROL pada sertifikat.
Contoh
Contoh ini memilih baris dari [AdventureWorks2022].[ProtectedData04]
ditandai sebagai data yang awalnya dienkripsi oleh sertifikat JanainaCert02
. Contoh pertama-tama mendekripsi kunci privat sertifikat JanainaCert02
dengan kata sandi sertifikat pGFD4bb925DGvbd2439587y
. Kemudian, contoh mendekripsi ciphertext dengan kunci privat ini. Contoh mengonversi data yang didekripsi dari varbinary ke nvarchar.
SELECT CONVERT(NVARCHAR(max), DecryptByCert(Cert_Id('JanainaCert02'),
ProtectedData, N'pGFD4bb925DGvbd2439587y'))
FROM [AdventureWorks2022].[ProtectedData04]
WHERE Description
= N'data encrypted by certificate '' JanainaCert02''';
GO
Lihat Juga
ENCRYPTBYCERT (T-SQL)
BUAT SERTIFIKAT (Transact-SQL)
UBAH SERTIFIKAT (Transact-SQL)
HILANGKAN SERTIFIKAT (T-SQL)
SERTIFIKAT CADANGAN (Transact-SQL)
Hierarki Enkripsi