我认为这是在创建一个md5哈希,但是对于正在被哈希的内容感到困惑。
char val1[4] = {...};
DWORD val2 = ...;
CryptCreateHash(hCryptProv, CALG_MD5, 0, 0, &hHash) // Creates hash object
CryptHashData(hHash, reinterpret_cast<const PBYTE>(val1), sizeof(val1), 0) // perform hash #1
CryptHashData(hHash, reinterpret_cast<const PBYTE>(val2), sizeof(val2), 0) // perform hash #2
散列#1如何与散列#2结合?
是否正在执行md5(md5(val1)+ val2)?还是md5(val1 + val2)?或者我根本不考虑的事情?
答案 0 :(得分:4)
CryptHashData
将您的数据添加到哈希对象。如果稍后调用CryptGetHashParam
,您将获得val1 + val2的哈希值。