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文件到另外一个目录,相同的文件名进行数据合并,不同的文件名直接移到新文件夹