Fungsi BCryptDuplicateHash (bcrypt.h)
Fungsi BCryptDuplicateHash menduplikasi objek hash atau Kode Autentikasi Pesan (MAC) yang ada. Objek duplikat berisi semua status dan data yang terkandung dalam objek asli pada titik duplikasi.
Sintaks
NTSTATUS BCryptDuplicateHash(
[in] BCRYPT_HASH_HANDLE hHash,
[out] BCRYPT_HASH_HANDLE *phNewHash,
[out] PUCHAR pbHashObject,
[in] ULONG cbHashObject,
[in] ULONG dwFlags
);
Parameter
[in] hHash
Handel objek hash atau MAC untuk diduplikasi.
[out] phNewHash
Penunjuk ke nilai BCRYPT_HASH_HANDLE yang menerima handel yang mewakili hash duplikat atau objek MAC.
[out] pbHashObject
Penunjuk ke buffer yang menerima hash duplikat atau objek MAC. Parameter cbHashObject berisi ukuran buffer ini. Ukuran buffer yang diperlukan dapat diperoleh dengan memanggil fungsi BCryptGetProperty untuk mendapatkan properti BCRYPT_OBJECT_LENGTH . Ini akan memberikan ukuran objek hash untuk algoritma yang ditentukan.
Ketika handel hash duplikat dirilis, kosongkan memori ini.
[in] cbHashObject
Ukuran, dalam byte, dari buffer pbHashObject .
[in] dwFlags
Sekumpulan bendera yang mengubah perilaku fungsi ini. Tidak ada bendera yang saat ini ditentukan, jadi parameter ini harus nol.
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. |
|
Ukuran objek hash yang ditentukan oleh parameter cbHashObject tidak cukup besar untuk menahan objek hash. |
|
Handel hash dalam parameter hHash tidak valid. |
|
Satu atau beberapa parameter tidak valid. |
Keterangan
Fungsi ini berguna saat menghitung hash atau MAC melalui blok data umum. Setelah data umum diproses, objek hash atau MAC dapat diduplikasi, lalu data unik dapat ditambahkan ke objek individual.
Bergantung pada mode prosesor apa yang didukung penyedia, BCryptDuplicateHash dapat dipanggil baik dari mode pengguna atau mode kernel. Pemanggil mode kernel dapat mengeksekusi baik di PASSIVE_LEVEL IRQL atau DISPATCH_LEVEL IRQL. Jika tingkat IRQL saat ini DISPATCH_LEVEL, handel yang disediakan dalam parameter hHash harus berasal dari handel algoritma yang dikembalikan oleh penyedia yang dibuka dengan menggunakan bendera BCRYPT_PROV_DISPATCH , dan penunjuk apa pun yang diteruskan ke fungsi BCryptDestroyKey harus merujuk ke memori yang tidak di-patahkan (atau terkunci).
Untuk memanggil fungsi ini dalam mode kernel, gunakan Cng.lib, yang merupakan bagian dari Driver Development Kit (DDK). Windows Server 2008 dan Windows Vista: Untuk memanggil fungsi ini dalam mode kernel, gunakan Ksecdd.lib.
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 | bcrypt.h |
Pustaka | Bcrypt.lib |
DLL | Bcrypt.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk