Ric*_*Ric 1 c# hash md5 integrity
大家早上好,
我正在使用C#中的MD5文件完整性检查工具.
为文件提供MD5校验和值需要多长时间?例如,如果我尝试获取2gb .mpg文件,则每次约需5分钟.这似乎过长了.
我只是不耐烦吗?
下面是我正在运行的代码
public string getHash(String @fileLocation)
{
FileStream fs = new FileStream(@fileLocation, FileMode.Open);
HashAlgorithm alg = new HMACMD5();
byte[] hashValue = alg.ComputeHash(fs);
string md5Result = "";
foreach (byte x in hashValue)
{
md5Result += x;
}
fs.Close();
return md5Result;
}
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.
问候
请参阅此有关如何以最有效的方式计算文件哈希值的信息.你基本上必须包装FileStream成一个BufferedStream而不是反馈到HMACMD5.ComputeHash(Stream)过载:
HashAlgorithm hmacMd5 = new HMACMD5();
byte[] hash;
using(Stream fileStream = new FileStream(fileLocation, FileMode.Open))
using(Stream bufferedStream = new BufferedStream(fileStream, 1200000))
hash = hmacMd5.ComputeHash(bufferedStream);
Run Code Online (Sandbox Code Playgroud)