通过网络远程传输文件时md5不一致的问题
今天远程复制文件的时候碰到了一个问题,就是复制到远程机器的压缩文件打开提示错误。
然后我查看了一下本地机器和远程机器的该文件的md5,结果发现果然不一样。
我的脑海里冒出了许多可能:
网络传输在极低概率下还是可能出现数据错误的;
可能是被经过某些恶意网络节点的时候被更改了;
文件写入本地后本地的恶意软件偷偷改了文件;
硬盘等故障;
以前在网络上下载大文件的时候,一些发布者会给出md5。
当时我的一个想法是,发布者担心第三方加入一些恶意内容后,发布到其他地方让别人下载,所以提供的这个md5.
现在看来这只是一方面,其他的一些不确定的因素还是挺多的。
如何保证传输文件的完整性。
一种方法是下载完后用md5工具校验一下。确保一致性;但人都是比较懒的不可能经常这样去验证。
另一种方法是发文件或收文件的时候采用压缩文件方式。
因为压缩文件都自带CRC32校验,只要一个字节发生变化,最后CRC32也会发生翻天覆地的变化,这样如果文件变化了操作压缩文件的时候就会报错;
具体操作起来应该是:
在发文件的时候,如果是文本或表格等数据,则制作压缩文件的时候把“压缩级别”选为“标准”就行了,这样既可以节省容量,也可以保证数据完整性。
在发文件的时候,如果是视频音频等压缩比例不大的数据,则制作压缩文件的时候只需把“压缩级别”选为“储存”就行了,这样就不会进行任何形式的压缩,提高了我们压缩解压的效率。
在接受文件的时候,我们只需要点击一下测试就好。当然加入到系统鼠标右键会更方便,而且可以进行批量测试。