【发布时间】: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#