Я понимаю, что это создает хеш 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)?Или что-то, чего я вообще не рассматриваю?