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('=');
}
}
我正在设置一个 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('=');
}
}