Fungsi CryptHashMessage (wincrypt.h)
Fungsi CryptHashMessage membuat hash pesan.
Sintaks
BOOL CryptHashMessage(
[in] PCRYPT_HASH_MESSAGE_PARA pHashPara,
[in] BOOL fDetachedHash,
[in] DWORD cToBeHashed,
[in] const BYTE * [] rgpbToBeHashed,
[in] DWORD [] rgcbToBeHashed,
[out] BYTE *pbHashedBlob,
[in, out] DWORD *pcbHashedBlob,
[out, optional] BYTE *pbComputedHash,
[in, out, optional] DWORD *pcbComputedHash
);
Parameter
[in] pHashPara
Penunjuk ke struktur CRYPT_HASH_MESSAGE_PARA yang berisi parameter hash.
[in] fDetachedHash
Jika parameter ini diatur ke TRUE, hanya pbComputedHash yang dikodekan dalam pbHashedBlob. Jika tidak, rgpbToBeHashed dan pbComputedHash dikodekan.
[in] cToBeHashed
Jumlah elemen array dalam rgpbToBeHashed dan rgcbToBeHashed. Parameter ini hanya boleh satu kecuali fDetachedHash diatur ke TRUE.
[in] rgpbToBeHashed
Array pointer ke buffer yang berisi konten yang akan di-hash.
[in] rgcbToBeHashed
Array ukuran, dalam byte, dari buffer yang diacu oleh rgpbToBeHashed.
[out] pbHashedBlob
Penunjuk ke buffer untuk menerima pesan hash yang dikodekan untuk transmisi.
Parameter ini dapat berupa NULL jika pesan yang di-hash tidak diperlukan untuk pemrosesan tambahan atau untuk mengatur ukuran pesan yang di-hash untuk tujuan alokasi memori. Pesan hash tidak akan dikembalikan jika parameter ini NULL. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out] pcbHashedBlob
Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh parameter pbHashedBlob . Ketika fungsi kembali, variabel ini berisi ukuran, dalam byte, dari pesan yang didekripsi yang disalin ke pbHashedBlob. Parameter ini harus berupa alamat DWORD dan bukan NULL atau panjang buffer tidak akan dikembalikan.
[out, optional] pbComputedHash
Penunjuk ke buffer untuk menerima nilai hash yang baru dibuat. Parameter ini dapat berupa NULL jika hash yang baru dibuat tidak diperlukan untuk pemrosesan tambahan, atau untuk mengatur ukuran hash untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out, optional] pcbComputedHash
Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh parameter pbComputedHash . Ketika fungsi kembali, DWORD ini berisi ukuran, dalam byte, dari hash yang baru dibuat yang disalin ke pbComputedHash.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan bukan nol (TRUE).
Jika fungsi gagal, fungsi mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Menampilkan kode | Deskripsi |
---|---|
|
Tipe pengodean pesan tidak valid. Saat ini hanya PKCS_7_ASN_ENCODING yang didukung. cbSize dalam *pHashPara tidak valid. |
|
Jika buffer yang ditentukan oleh parameter pbHashedBlob tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA dan menyimpan ukuran buffer yang diperlukan, dalam byte, ke dalam variabel yang ditunjukkan oleh pbHashedBlob. |
Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.
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 | Crypt32.lib |
DLL | Crypt32.dll |