非官方百度云客户端下载文件可能出现数据损坏问题
近期使用百度云网盘下载大型文件和压缩包的用户或许发现部分文件和压缩包出现损坏无法正常加载和解压。
例如蓝点网昨天发布的 Android x86 开源项目的 VMware 虚拟机镜像文件就有用户反馈称32位版解压出错。
本身该镜像使用7z的算法进行极高压缩产生的文件,源文件体积高达2GB 但压缩后的压缩包文件仅 600MB。
于是我们尝试使用WinRAR 对上传的压缩包解压进行测试,测试发现不论是WinRAR还是其他工具均可解压。
而通过百度云不限速版以及 PanDownload 下载的压缩包解压错误,核对哈希值后发现与源文件哈希值不同。
SteamCN社区的网友发现即使是在哈希值相同的情况下依然还会出错,校验数据后发现部分数据发生了偏移。
WinHex 工具对比源文件和通过百度云下载的文件后发现六处不同,而且不同的地方偏移分别是5和2、2和5。
更巧的是偏差的值分别是十六进制的 8、4、20和 8、4、20,没错,就是这么巧合偏移的值竟然都是相同的。
最新的更新:
为了避免误解我们已经删除了此前的内容并更新增添新内容,实际上百度原版客户端也会出现解压错误问题。
在蓝点网微信推送这篇文章后引起了热烈的讨论,讨论最终结果就是不论怎么下载都可能遭遇数据丢失问题。
即使是百度云官方最新版客户端下载大型文档尤其是大型压缩包时,可能会较大概率的出现解压失败的情况。
同时为了测试我们还开通了 VIP(10元版的)进行压缩文档下载, 实际情况是VIP也不能解决最终哈希出错。
最终结论如下:
不论怎么下载用哪些工具都可能会出现错误问题, 如果使用 IDM 下载那么多线程要比单线程出错概率更低。
同时如果下载过程中暂停然后恢复下载的话,这种情况下出错的概率要远远大于持续下载没有中断过下载的。
最后大家在下载文件要核对哈希值与上传者发布的是否相同,尤其是系统镜像必须核对不然中途会安装失败。