C#计算文件MD5

dotNET提供了 **MD5CryptoServiceProvider **类,封装了计算MD5哈希值的相关算法。使得计算MD5相当方便。下面是使用该类计算文件MD5的一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//using System.IO;
//using System.Security.Cryptography;
public string ComputeMD5(string strFilePath)
{
if (!File.Exists(strFilePath))
return "";

byte[] btarrInfo = File.ReadAllBytes(strFilePath);
MD5CryptoServiceProvider md5CSP = new MD5CryptoServiceProvider();
byte[] btarrMd5 = md5CSP.ComputeHash(btarrInfo);

string strMD5 = BitConverter.ToString(btarrMd5).Replace("-", "").ToLower();

return strMD5;
}

而C++标准库中没有相应的库。相关的开源库有CryptoPP与hashlib++等开源库。可参考这里