Pil*_*Dev 3 c# memory hash md5 file
我想让它变得非常清晰和简单.如果我有1gb内存并且我正在尝试计算2gb文件的md5哈希怎么办?目前,我这样做:
private static string Md5Hash(byte[] input)
{
byte[] hash = MD5.Create().ComputeHash(input);
StringBuilder builder = new StringBuilder(32);
foreach(byte b in hash)
{ builder.Append(b.ToString("X2")); }
return builder.ToString();
}
// I'm using it like: 'Md5.AsString(File.ReadAllBytes(filePath))'
Run Code Online (Sandbox Code Playgroud)
那你的建议是什么?
在完全将文件加载到内存后计算文件的哈希值,而不是使用带有的文件的重载Stream.
byte[] hash;
using (Stream input = File.OpenRead("Filename"))
{
hash = MD5.Create().ComputeHash(input);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |