【发布时间】:2018-04-26 06:14:58
【问题描述】:
为什么在我发现的这个解决方案中没有循环使用缓冲区几次?
using System.IO;
using System.Security.Cryptography;
private static string GetChecksum(string file)
{
using (FileStream stream = File.OpenRead(file))
{
SHA256Managed sha = new SHA256Managed();
byte[] checksum = sha.ComputeHash(stream);
return BitConverter.ToString(checksum).Replace("-", String.Empty);
}
}
我正在尝试为 +2GB 文件生成 SHA 校验和。应该怎么样?
【问题讨论】:
-
@Sinatr 示例代码在这里,来自那里:)
-
@AramKocharyan,问题(在我看来)也是。如果我错了,我希望 OP 澄清一下。
-
ComputeHash() 自己吞下整个流。方便的。该缓冲区是still there。