// 计算数据的MD5字符串
string ComputeMD5(const char* szData, size_t len) { HCRYPTPROV hCryptProv; HCRYPTHASH hHash; BYTE bHash[0x7f]; DWORD dwHashLen= 16; string digest; if(CryptAcquireContext(&hCryptProv,NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_MACHINE_KEYSET) && CryptCreateHash(hCryptProv,CALG_MD5,0, 0, &hHash) && CryptHashData(hHash, (BYTE*)szData, (DWORD)len, 0) && CryptGetHashParam(hHash, HP_HASHVAL, bHash, &dwHashLen, 0)) { dig
使用Windows系统API计算数据和文件的MD5哈希值,支持大文件
最新推荐文章于 2024-07-17 00:58:19 发布
该代码段展示了如何使用Windows系统API计算文件和数据的MD5哈希值,特别支持大文件处理。通过CryptAcquireContext、CryptCreateHash等函数进行MD5计算,并利用CreateFileMapping和MapViewOfFile处理大文件。
摘要由CSDN通过智能技术生成