MD5 ComputeHash返回重复哈希

时间:2015-10-30 13:22:26

标签: c# asp.net file-upload hash md5

我正在尝试使用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。

0 个答案:

没有答案