百度云文件校验方式猜想

来源:互联网 发布:人大经济论坛数据 编辑:程序博客网 时间:2024/05/16 00:32

之前在百度云的备份了不少精致的AffterEffects模板,下载时发现部分文件无法下载,提示“您下载的内容中包含违规信息”,如下图:




 


被误判为不正经文件了?


那么,为什么会出现这种情况?

应该是百度云采用MD5校验方式,来判断是否是同一个文件。相比百度有一个违规文件数据库,里面存储着大量非法文件的MD5值。用户下载文件时会进行匹配,如果匹配到则无法下载。

那么如果不同的文件有相同的MD5,就会出现上图的误判情况。


我下载的文件比较多,将近11W个,这样和非法数据库撞MD5值的概率就大了一些。


首先看一下MD5的特点:


1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。


抗碰撞一点说是非常困难,但并不是不可能。

容易计算,应该是百度为了减小服务器负载的一个考量。


也就是说,虽然一个文件有且只有一种MD5,但是不保证这个MD5是唯一,不与其他文件MD5相同的。


 百度,你还我文件……






0 0
原创粉丝点击