如题,具体我还想顺便创建一个具有删除重复文件的功能的程序,但这两者原理应该是一样的。 就是不知道用什么算法比较好。 我是在 win7 vs2010 平台开发的。知道的朋友 给点意见。新手学习中!!
------解决思路----------------------
md5、SHA1和SHA2碰撞率稍低,但编码速度较慢,CRC32速度快很多但碰撞率稍高
基本上,单独使用一种算法是不保险的,比较好的办法是同时使用两种或两种以上的编码
比如同时使用md5和CRC32,只有当两个都相同时才认为数据重复
要是对速度要求极高,可以使用CRC32+数据长度的办法来保证速度并减少碰撞率
我的所有唯一性检验都是使用 CRC32+数据长度 这种方法,目前在在百万文章库中未发现碰撞,并且速度很快
而之前仅仅使用 CRC32 算法的话,文章库的碰撞的概率接近十万分之一
我的一个商业版的文件库使用的CRC32
------解决思路----------------------
先比较文件大小,大小一样的再md5基本上就够了