Bagikan melalui


Fungsi CryptHashData (wincrypt.h)

Penting API ini tidak digunakan lagi. Perangkat lunak baru dan yang sudah ada harus mulai menggunakan Cryptography Next Generation API. Microsoft dapat menghapus API ini dalam rilis mendatang.
 
Fungsi CryptHashData menambahkan data ke objek hash tertentu. Fungsi ini dan CryptHashSessionKey dapat dipanggil beberapa kali untuk menghitung hash aliran data yang panjang atau tidak berkelanjutan.

Sebelum memanggil fungsi ini, CryptCreateHash harus dipanggil untuk membuat handel objek hash.

Sintaks

BOOL CryptHashData(
  [in] HCRYPTHASH hHash,
  [in] const BYTE *pbData,
  [in] DWORD      dwDataLen,
  [in] DWORD      dwFlags
);

Parameter

[in] hHash

Menangani objek hash.

[in] pbData

Penunjuk ke buffer yang berisi data yang akan ditambahkan ke objek hash.

[in] dwDataLen

Jumlah byte data yang akan ditambahkan. Ini harus nol jika bendera CRYPT_USERDATA diatur.

[in] dwFlags

Nilai bendera berikut ditentukan.

Nilai Makna
CRYPT_OWF_REPL_LM_HASH
0x00000001
Bendera ini tidak digunakan.
CRYPT_USERDATA
1 (0x1)
Semua Penyedia Kriptografi Microsoft mengabaikan parameter ini. Untuk CSP apa pun yang tidak mengabaikan parameter ini, jika bendera ini diatur, CSP meminta pengguna untuk memasukkan data secara langsung. Data ini ditambahkan ke hash. Aplikasi tidak diizinkan mengakses data. Bendera ini dapat digunakan untuk memungkinkan pengguna memasukkan PIN ke dalam sistem.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Kode kesalahan yang diawali oleh "NTE" dihasilkan oleh CSP tertentu yang Anda gunakan. Beberapa kemungkinan kode kesalahan mengikuti.

Menampilkan kode Deskripsi
ERROR_INVALID_HANDLE
Salah satu parameter menentukan handel yang tidak valid.
ERROR_INVALID_PARAMETER
Salah satu parameter berisi nilai yang tidak valid. Ini paling sering merupakan pointer yang tidak valid.
NTE_BAD_ALGID
Handel hHash menentukan algoritma yang tidak didukung CSP ini.
NTE_BAD_FLAGS
Parameter dwFlags berisi nilai yang tidak valid.
NTE_BAD_HASH
Objek hash yang ditentukan oleh parameter hHash tidak valid.
NTE_BAD_HASH_STATE
Upaya dilakukan untuk menambahkan data ke objek hash yang sudah ditandai "selesai."
NTE_BAD_KEY
Algoritma hash berkunci sedang digunakan, tetapi kunci sesi tidak lagi valid. Kesalahan ini dihasilkan jika kunci sesi dihancurkan sebelum operasi hashing selesai.
NTE_BAD_LEN
CSP tidak mengabaikan bendera CRYPT_USERDATA, bendera diatur, dan parameter dwDataLen memiliki nilai bukan nol.
NTE_BAD_UID
Konteks CSP yang ditentukan ketika objek hash dibuat tidak dapat ditemukan.
NTE_FAIL
Fungsi gagal dengan cara yang tidak terduga.
NTE_NO_MEMORY
CSP kehabisan memori selama operasi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

CryptCreateHash

CryptHashSessionKey

CryptSignHash

Fungsi Hash dan Tanda Tangan Digital