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('=');

            }
        }