gpt4 book ai didi

c# - 函数每次返回不同的 MD5 散列

转载 作者:太空狗 更新时间:2023-10-29 20:39:48 25 4
gpt4 key购买 nike

我编写了一个函数,它将文件的 URL 作为参数并返回该文件的 MD5 哈希值。

此函数(在开发环境中)生成的哈希与第三方工具为同一文件生成的哈希相匹配。

但是当它部署在我客户的 QA 环境中时,每次调用该函数时都会返回不同的值。

我做了一些谷歌搜索,发现问题可能是因为 dev.服务器是 64 位,QA 服务器是 32 位。由于我无权访问我客户的服务器,我将其部署在另一台 32 位服务器上,发现哈希值甚至在 32 位服务器上也匹配(功能按预期工作?)。

我也看过this question .

这是我写的函数:

public static String GetMD5HashFromFile(String url)
{
String response = String.Empty;
HttpWebRequest aRequest = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse aResponse = (HttpWebResponse)aRequest.GetResponse())
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(aResponse.GetResponseStream());
response = "MD5:" + BitConverter.ToString(retVal).Replace("-", string.Empty);
}
return response;
}

我的问题是;这个函数返回各种值的原因可能是什么?我的功能有问题吗?

最佳答案

尝试添加日志记录。因此,首先将文件下载到字符串(将其写入磁盘上的某个位置,以便稍后进行比较)。然后在磁盘上计算散列。我在我的一个项目中遇到过这样的问题,在那种情况下,问题出在代理服务器上,它添加了一些响应。但是如果磁盘上没有文件,您就无法比较它们。

关于c# - 函数每次返回不同的 MD5 散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15878038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com