繁体   English   中英

MD5哈希生成相同的哈希码

[英]MD5 to hash generating the same hash code

我正在设置一个Blob,我需要获取一些东西以将其插入数据库中,因此我编写了一个代码以基于Stream来获取hashId

我已经尝试在我的FileStorageService上使用IFormFile,但这有点错误。

private string GetMD5HashFromFile(Stream data)
       {
          using (var md5 = MD5.Create())
          {
            using (var fileStream = data)
              {

                  var hash = md5.ComputeHash(fileStream);

                  var hashString = Convert.ToBase64String(hash);

                  return hashString.TrimEnd('=');

              }

          }
       }

此代码始终生成相同的哈希,因此无法将Blob信息保存在数据库中

根据C.Evenhuis的评论,我的一个朋友以这种方式决心:

 private string GetMD5HashFromFile(Stream data)
        {
            using (var md5 = MD5.Create())
            {
                data.Position = 0;
                var hash = md5.ComputeHash(data);
                var hashString = Convert.ToBase64String(hash);

                return hashString.TrimEnd('=');

            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM