我正在尝试使用HttpPostedFile的InputStream计算MD5哈希值。
创建哈希或转换哈希没有任何问题。 但是,无论我上传什么文件(使用ASP FileUpload控件),哈希都是一样的。
我看到了一个解决方案,涉及在ComputeHash之前设置Stream.Position = 0,但它仍然是相同的。
HttpPostedFile.InputStream总是会创建相同的MD5哈希,还是我的代码中缺少某些内容?
我很感激任何建议。提前谢谢。
private static string GetMd5FileHash(HttpPostedFile file)
{
using (var md5 = MD5.Create())
{
file.InputStream.Position = 0;
var hash = md5.ComputeHash(file.InputStream);
return Convert.ToBase64String(hash);
}
}
更新
刚刚发现我收到的MD5哈希是通用的,这可能意味着它没有读取InputStream。