Bagikan melalui


Fungsi BCryptHashData (bcrypt.h)

Fungsi BCryptHashData melakukan hash satu arah atau Kode Autentikasi Pesan (MAC) pada buffer data.

Sintaksis

NTSTATUS BCryptHashData(
  [in, out] BCRYPT_HASH_HANDLE hHash,
  [in]      PUCHAR             pbInput,
  [in]      ULONG              cbInput,
  [in]      ULONG              dwFlags
);

Parameter

[in, out] hHash

Handel objek hash atau MAC yang akan digunakan untuk melakukan operasi. Handel ini diperoleh dengan memanggil fungsi BCryptCreateHash .

[in] pbInput

Penunjuk ke buffer yang berisi data yang akan diproses. Parameter cbInput berisi jumlah byte dalam buffer ini. Fungsi ini tidak mengubah isi buffer ini.

[in] cbInput

Jumlah byte dalam buffer pbInput .

[in] dwFlags

Sekumpulan bendera yang mengubah perilaku fungsi ini. Tidak ada bendera yang saat ini ditentukan, jadi parameter ini harus nol.

Mengembalikan nilai

Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.

Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.

Mengembalikan kode Deskripsi
STATUS_SUCCESS
Fungsi berhasil.
STATUS_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
STATUS_INVALID_HANDLE
Handel hash di parameter hHash tidak valid. Setelah fungsi BCryptFinishHash dipanggil untuk handel hash, handel tersebut tidak dapat digunakan kembali.

Komentar

Untuk menggabungkan lebih dari satu buffer ke dalam hash atau MAC, Anda dapat memanggil fungsi ini beberapa kali, meneruskan buffer yang berbeda setiap kali. Untuk mendapatkan nilai hash atau MAC, panggil fungsi BCryptFinishHash . Setelah fungsi BCryptFinishHash dipanggil untuk handel tertentu, handel tersebut tidak dapat digunakan kembali.

Bergantung pada mode prosesor apa yang didukung penyedia, BCryptHashData dapat dipanggil baik dari mode pengguna atau mode kernel. Pemanggil mode kernel dapat menjalankan baik di PASSIVE_LEVELIRQL atau IRQL DISPATCH_LEVEL. 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 setiap pointer yang diteruskan ke fungsi BCryptHashData harus mengacu pada memori yang tidak dipagasi (atau dikunci).

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

Syarat Nilai
klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Platform Target Windows
Header bcrypt.h
Pustaka Bcrypt.lib
DLL Bcrypt.dll

Lihat juga

BCryptCreateHash

BCryptFinishHash