Bagikan melalui


DECRYPTBYASYMKEY (Transact-SQL)

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

Fungsi ini menggunakan kunci asimetris untuk mendekripsi data terenkripsi.

Konvensi sintaks transact-SQL

Sintaks

DecryptByAsymKey (Asym_Key_ID , { 'ciphertext' | @ciphertext }   
    [ , 'Asym_Key_Password' ] )  

Argumen

Asym_Key_ID
ID kunci asimetris dalam database. Asym_Key_ID memiliki jenis data int.

Ciphertext
String data yang dienkripsi dengan kunci asimetris.

@ciphertext
Variabel jenis varbinary, berisi data yang dienkripsi dengan kunci asimetris.

Asym_Key_Password
Kata sandi yang digunakan untuk mengenkripsi kunci asimetris dalam database.

Jenis Kembalian

varbinary, dengan ukuran maksimum 8.000 byte.

Keterangan

Dibandingkan dengan enkripsi/ dekripsi simetris, enkripsi/ dekripsi kunci asimetris memiliki biaya tinggi. Saat bekerja dengan himpunan data besar - misalnya, data pengguna yang disimpan dalam tabel - kami menyarankan agar pengembang menghindari enkripsi/dekripsi kunci asimetris.

Izin

DECRYPTBYASYMKEY memerlukan izin CONTROL pada kunci asimetris.

Contoh

Contoh ini mendekripsi ciphertext awalnya dienkripsi dengan kunci JanainaAsymKey02asimetris . AdventureWorks2022.ProtectedData04 menyimpan kunci asimetris ini. Contoh mendekripsi data yang dikembalikan dengan kunci JanainaAsymKey02asimetris . Contoh kata sandi pGFD4bb925DGvbd2439587y yang digunakan untuk mendekripsi kunci asimetris ini. Contoh mengonversi teks biasa yang dikembalikan untuk mengetik nvarchar.

SELECT CONVERT(NVARCHAR(max),  
    DecryptByAsymKey( AsymKey_Id('JanainaAsymKey02'),   
    ProtectedData, N'pGFD4bb925DGvbd2439587y' ))   
AS DecryptedData   
FROM [AdventureWorks2022].[Sales].[ProtectedData04]   
WHERE Description = N'encrypted by asym key''JanainaAsymKey02''';  
GO  

Lihat Juga

ENCRYPTBYASYMKEY (Transact-SQL)
MEMBUAT KUNCI ASIMETRIS (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
HILANGKAN KUNCI ASIMETRIS (Transact-SQL)
Pilih Algoritma Enkripsi
Hierarki Enkripsi