■ linux上和windows即便是同一个文件,其hash值也有可能是不一样的:
原因可能有以下两点:(http://blog.csdn.net/yezhen910328/article/details/40891191)
1.传输过去的文件在尾部比源文件多了若干个‘\0‘,导致文件内容不完全一致(这是因为文件的大小不一定是数据包大小的整数倍)。解决方法:可以在源文件末尾补‘\0‘,使其大小为数据包大小的整数倍,这样源文件就与传输过去的文件完全一致了,再计算md5。
2.计算md5时,读写位置不在文件头部。
时间: 2024-10-19 03:00:02