快速MD5计算
来源:互联网 发布:linux终端删除~$ 编辑:程序博客网 时间:2024/05/02 01:53
由Windows API实现的一个MD5计算函数,在Windows平台上比其他开源的MD5库快20%以上。
std::string CalcMD5(LPCVOID lpData, DWORD dwSize, BOOL bUpper){if(lpData == NULL || dwSize == 0)return "";std::string Str;HCRYPTPROV hProv = NULL;if(CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)){HCRYPTHASH hHash = NULL;if(CryptCreateHash(hProv, CALG_MD5, NULL, 0, &hHash)){if(CryptHashData(hHash, (PBYTE)lpData, dwSize, 0)){DWORD dwLength = 16;PBYTE pMemory = (PBYTE)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwLength);if(pMemory != NULL){if(CryptGetHashParam(hHash, HP_HASHVAL, pMemory, &dwLength, 0)){CHAR Temp[4] = {};for(DWORD i = 0; i < dwLength; ++i){sprintf_s(Temp, _countof(Temp), bUpper ? "%02X" : "%02x", pMemory[i]);Str.append(Temp);}}HeapFree(GetProcessHeap(), 0, pMemory);}}CryptDestroyHash(hHash);}CryptReleaseContext(hProv, 0);}return Str;}
- 快速MD5计算
- MD5计算
- md5计算
- MD5计算
- 计算MD5
- 计算MD5最快代码
- Java MD5值计算
- 计算文件MD5
- CryptoAPI -计算md5
- MD5 计算类
- linux下MD5计算
- ubuntu下计算md5
- 计算MD5值方法
- 计算文件的MD5
- python 计算md5
- 文件MD5值计算
- md5值计算方式
- 计算MD5最快代码
- 6174问题
- ext4-fs error (device dm-0) ext4_lookup deleted inode referenced
- 求一个矩阵最大子矩阵的算法模板
- RMAN RAC 到 单实例 duplicate 自动分配通道 触发 ORA-19505 错误
- 结构体对齐问题以及强制类型转换问题总结
- 快速MD5计算
- 利用amqplib测试rabbitmq
- 关于XX信息技术有限公司的面试经历
- 最短路变形 POJ 2253 Frogger
- 多线程编程--对pthread_cond_wait()函数的理解
- TextView使用笔记(一)——为TextView添加下划线或者删除线
- apache开启expires
- 第十九天 类加载器
- 光棍的yy之大数加法模板