断点续传、秒传究竟是如何实现的?( 二 )


注意:If-Range 必须与 Range 配套使用 。缺少其中任意一个另一个都会被忽略 。
秒传
原理
秒传利文件的MD5,首先将文件的MD5发送个服务器,服务器传输过来的MD5判断服务器上是否存在相同类型的文件,如果存在就将文件复制一份,而不是本地上传 。这样就是先的秒传功能 。
MD5
秒传涉及到了MD5,那么什么MD5呢?MD5的英文全称是 Message-Digest Algorith 5 ,是计算机广泛使用的算法之一 。MD5 会为文件产生唯一的“指纹”,任何改动都会改变文件指纹 。它以 512位分组来处理信息,每个分组又被分为16个32位分组,经过处理后输出4个32位分组,最后将输出的4个32位分组进行级联生成128位散列值 。
MD5的具有压缩性、易计算、抗修改、弱抗碰撞和强抗碰撞 。下面我们一一来讲解:

  • 压缩性:任意长度数据,生成的MD5值长度是固定的;
  • 易计算:可以很方便的从原始数据计算出MD5;
  • 抗修改:对原始数据的任何修改,都会改变MD5;
  • 弱抗碰撞和强抗碰撞:很难找到具有相同MD5的数据 。
破解谣言:有人说网盘能秒传证明数据在网盘服务器是不加密的,有数据库查看权限的人都可以看,所以私密文件最好在本地磁盘加密后再上传到网盘中 。这句话是错误的,正规的网盘服务器只是验证了文件的MD5码,文件还是加密存放的 。
总结
这篇文章讲解了断点续传和秒传的知识,也讲解了它们所使用技术的相关知识点 。这些知识可以用在任何编程语言的断点续传和秒传的开发中,因此这篇文章我并没有根据具体的语言讲解 。
作者简介:朱钢,笔名喵叔,CSDN博客专家,.NET高级开发工程师,7年一线开发经验,参与过电子政务系统和AI客服系统的开发,以及互联网招聘网站的架构设计,目前就职于北京恒创融慧科技发展有限公司,从事企业级安全监控系统的开发 。
【END】




推荐阅读