我正在创建上传图像的 sha1 校验和,然后我的目标是将其与来自第三方的同一图像的 sha1 校验和进行比较。
我的代码返回一个成功的十六进制,但它与发送的校验和不同。我已经使用在线转换器对此进行了测试:http: //hash.online-convert.com/sha1-generator;此转换器返回的十六进制与第三方返回的十六进制相同。
显然我在某个地方错过了一步,但我想不出是什么。我正在阅读文件:
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
然后我尝试使用以下方法对这个数组进行十六进制:
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
string hex = BitConverter.ToString(sha1.ComputeHash(image)).Replace("-", "");
我还尝试在将流转换为数组之前对其进行转换。
如何在http://hash.online-convert.com/sha1-generator获得与转换器相同的结果?