CryptoAPI -计算md5
2008-06-12 15:49
211 查看
//输入内容的缓冲区输出内容的缓冲区输入内容的长度 BOOLMD5Digest(PBYTEcsBuffer,LPTSTRcsOutBuffer,DWORDdwLen) { HCRYPTPROVhCryptProv; HCRYPTHASHhHash; BYTEbHash[0x7f]; DWORDdwHashLen=32;//TheMD5algorithmalwaysreturns16bytes. DWORDcbContent=dwLen; BYTE*pbContent=newBYTE[dwLen]; memcpy(pbContent,csBuffer,dwLen); if(CryptAcquireContext(&hCryptProv, NULL,NULL,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT|CRYPT_MACHINE_KEYSET)) { if(CryptCreateHash(hCryptProv, CALG_MD5, //algorithmidentifierdefinitionssee:wincrypt.h 0,0,&hHash)) { if(CryptHashData(hHash,pbContent,cbContent,0)) { if(CryptGetHashParam(hHash,HP_HASHVAL,bHash,&dwHashLen,0)) { //Makeastringversionofthenumericdigestvalue for(inti=0;i<dwHashLen;i++) { _stprintf(csOutBuffer,_T("%s%02x"),csOutBuffer,bHash[i]); } } else returnfalse; } else returnfalse; } else returnfalse; } else returnfalse; CryptDestroyHash(hHash); CryptReleaseContext(hCryptProv,0); // CStringstr; // str.Format(_T("%s"),csOutBuffer); // AfxMessageBox(str); delete[]pbContent; returnTRUE; }
字符"abc"的ANSI编码和unicode编码计算的MD5值是不同的!
相关文章推荐
- VC 使用CryptoAPI计算Hash值:MD5, SHA
- VC使用CryptoAPI计算MD5
- linux计算文件的MD5 与 SHA1
- python实例26[计算MD5]
- python 计算文件的MD5
- gtk md5计算 极其入门
- C# 计算字符串的哈希值(MD5、SHA)
- 用python计算md5,sha1,crc32
- 计算某个时间段(2017-10-01 2017-12-01)内svn更新文件的MD5
- MD5 计算 -来自百度百科
- python实现对以‘&’连接的参数串排序后计算md5
- 网上流传的“MD5模块”计算错误的分析
- java中使用MD5进行计算摘要
- 计算md5的值
- IOS上计算文件MD5和计算数据块MD5和复制文件耗时数据
- C#实现MD5计算
- c# 如何给文件计算MD5
- 一个可以计算字符串和文件的MD5的类
- linux 计算md5 和 SHA-1
- MD5 计算类