2个不同文件的computehash相同

Posted

技术标签:

【中文标题】2个不同文件的computehash相同【英文标题】:computehash same for 2 different files 【发布时间】:2016-05-14 22:48:11 【问题描述】:

我正在尝试使用 ComputeHash 来确定服务器文件和客户端文件是否相同。有问题的文件可能是几兆或可能是 80 兆。我已经看到这在较小的文件上工作得很好,但是现在我正在尝试做几兆的文件,并且我正在为不同的文件(非常不同的文件)返回相同的哈希字符串。

我的程序是这样的:

MD5 md5 = MD5.Create();
//SHA1Managed sha = new SHA1Managed();
byte[] checksum = md5.ComputeHash(remoteClip.bytes);
string crc = BitConverter.ToString(checksum).Replace("-", String.Empty);

正如您在示例中看到的那样,我尝试了 MD5 和 SHA1Managed,它们提供了不同的结果,但每个文件的结果相同。我验证了每个调用中给出的字节数组不同。

有什么想法吗?

【问题讨论】:

再次验证?你的一个假设是不正确的。 您能验证remoteClip.bytes 确实发生了变化吗? 哇哇哇... Visual Studios 只是在鼠标悬停在变量检查弹出窗口上对我撒谎。我去截屏显示值是什么,我注意到底部的本地窗口显示了正确的值。抱歉这里误报了。 【参考方案1】:

原来视觉工作室在鼠标悬停检查时向我展示了虚假值,并且 crcs 不一样。它只是没有在后续迭代中更新。

【讨论】:

删除你的问题可能会更好

以上是关于2个不同文件的computehash相同的主要内容,如果未能解决你的问题,请参考以下文章

如果两个库都在同一个 DLL 文件中使用,我们可以在 2 个不同的库文件中使用相同的函数吗?

案例1-合并2个不同文件夹中的csv文件到另外一个目录,相同的文件名进行数据合并,不同的文件名直接移到新文件夹

如何在5个不同的文件夹中合并5个具有相同名称的Excel文件?

如何用不同的控制器编译使用相同应用程序文件的多个 jars

简单错误记录

华为的机试