【问题标题】:computehash same for 2 different files2个不同文件的computehash相同
【发布时间】: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 只是在鼠标悬停在变量检查弹出窗口上对我撒谎。我去截屏显示值是什么,我注意到底部的本地窗口显示了正确的值。抱歉这里误报了。

标签: c#


【解决方案1】:

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

【讨论】:

  • 删除你的问题可能会更好
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2018-12-22
  • 2018-09-14
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多