我在检查 C# 和 PHP 中文件的 MD5 校验和时遇到了一个小问题。PHP 脚本计算的哈希值与 C# 计算的哈希值不同。
libcurl.dll C# = c3506360ce8f42f10dc844e3ff6ed999
libcurl.dll PHP = f02b47e41e9fa77909031bdef07532af
在 PHP 中我使用md5_file
函数,我的 C# 代码是:
protected string GetFileMD5(string fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < retVal.Length; i++)
{
sb.Append(retVal[i].ToString("x2"));
}
return sb.ToString();
}
任何想法如何计算相同的哈希?我认为这可能与编码有关。
提前致谢!