如何正确的比较两个文件是否相同
一、问题切入前段时间,有人问我:“如何判断两个文件是否相同?”,顿时让我想到了之前在技术博客上看到的文章,大部分都是说使用散列MD5的方法去判断,后来有个大神跟我说,他的结论:“两个相同的文件散列值一定相同,但是不同的文件有可能散列值相同”,为什么呢?
二、问题求解首先回顾一下密码学中的散列函数
1、什么是散列算法呢?散列算法可以把【任意尺寸】的数据(原始数据)转变为一个【固定尺寸】的“小”数据(叫“散列值”或“摘要”)。
2、散列算法摘要长度对于某个具体的散列算法,得到的散列值长度总是固定的。散列值的长度又称“摘要长度”。以下是常见散列算法的摘要长度: CRC32 32比特
...