Fungsi NCryptDecrypt (ncrypt.h)
Fungsi NCryptDecrypt mendekripsi blok data terenkripsi.
Sintaks
SECURITY_STATUS NCryptDecrypt(
[in] NCRYPT_KEY_HANDLE hKey,
[in] PBYTE pbInput,
[in] DWORD cbInput,
[in, optional] VOID *pPaddingInfo,
[out] PBYTE pbOutput,
[in] DWORD cbOutput,
[out] DWORD *pcbResult,
[in] DWORD dwFlags
);
Parameter
[in] hKey
Handel kunci yang digunakan untuk mendekripsi data.
[in] pbInput
Alamat buffer yang berisi data yang akan didekripsi. Parameter cbInput berisi ukuran data yang akan didekripsi. Untuk informasi selengkapnya, lihat Keterangan.
[in] cbInput
Jumlah byte dalam buffer pbInput untuk didekripsi.
[in, optional] pPaddingInfo
Penunjuk ke struktur yang berisi informasi padding. Jenis struktur aktual yang menunjuk parameter ini tergantung pada nilai parameter dwFlags . Parameter ini hanya digunakan dengan kunci asimetris dan harus NULL sebaliknya.
[out] pbOutput
Alamat buffer yang akan menerima data terdekripsi yang dihasilkan oleh fungsi ini. Parameter cbOutput berisi ukuran buffer ini. Untuk informasi selengkapnya, lihat Keterangan.
Jika parameter ini NULL, fungsi ini akan menghitung ukuran yang diperlukan untuk data yang didekripsi dan mengembalikan ukuran di lokasi yang ditunjukkan oleh parameter pcbResult .
[in] cbOutput
Ukuran, dalam byte, dari buffer pbOutput . Parameter ini diabaikan jika parameter pbOutput adalah NULL.
[out] pcbResult
Penunjuk ke variabel DWORD yang menerima jumlah byte yang disalin ke buffer pbOutput . Jika pbOutputNULL, ini menerima ukuran, dalam byte, diperlukan untuk data yang didekripsi.
[in] dwFlags
Bendera yang mengubah perilaku fungsi. Kumpulan bendera yang diizinkan tergantung pada jenis kunci yang ditentukan oleh parameter hKey .
Jika kuncinya adalah kunci asimetris, ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Tidak ada padding yang digunakan saat data dienkripsi. Parameter pPaddingInfo tidak digunakan. |
|
Skema Padding Enkripsi Asimetris Optimal (OAEP) digunakan saat data dienkripsi. Parameter pPaddingInfo adalah penunjuk ke struktur BCRYPT_OAEP_PADDING_INFO . |
|
Data diisi dengan angka acak untuk membulatkan ukuran blok saat data dienkripsi. Parameter pPaddingInfo tidak digunakan. |
Nilai berikut dapat digunakan untuk kunci apa pun.
Nilai kembali
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Parameter dwFlags berisi nilai yang tidak valid. |
|
Ukuran yang ditentukan oleh parameter cbOutput tidak cukup besar untuk menyimpan data yang didekripsi. |
|
Parameter hKey tidak valid. |
|
Satu atau beberapa parameter tidak valid. |
|
Kunci yang diidentifikasi oleh parameter hKey tidak dapat digunakan untuk dekripsi. |
Keterangan
Parameter pbInput dan pbOutput dapat menunjuk ke buffer yang sama. Dalam hal ini, fungsi ini akan melakukan dekripsi di tempat.
Layanan tidak boleh memanggil fungsi ini dari Fungsi StartService-nya. Jika layanan memanggil fungsi ini dari fungsi StartService-nya, kebuntuan dapat terjadi, dan layanan mungkin berhenti merespons.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | ncrypt.h |
Pustaka | Ncrypt.lib |
DLL | Ncrypt.dll |