解决方案 »

  1.   


    服务器上同样hash值的文件只保存一份,上传只是得到了对这个文件的访问权
      

  2.   

    我猜一是根据URL,二是文件尺寸,三是多段少量文件数据
    另BT种子和ED2K链接自身就带有hash
      

  3.   

    1.文件大小
    3.取头1K的数据的md5
    就可以了
      

  4.   

    人家访问量那么大。服务器存的文件,很多人共享一个。比如一个热门电影,20万人要离线下载,服务器仅仅下载一份,其他人下载都是虚拟“下载”。你怎么说是浪费硬盘盒空间?其他人下载的时候简单比较url就行了,如果不是http的话更好了,url直接就提供有md5了。网盘难点是大数据,高负载,高可扩展。
      

  5.   

    这个有点不太精准吧?比如一个文本文件,如果修改替换了几个标点或几个字符,那么他的大小不会变,而替换的标点或字符也可能不在前1K数据之内,所以求得的md5值还是一样的,但其实文件显然不同
      

  6.   

    这个有点不太精准吧?比如一个文本文件,如果修改替换了几个标点或几个字符,那么他的大小不会变,而替换的标点或字符也可能不在前1K数据之内,所以求得的md5值还是一样的,但其实文件显然不同
    忘了加URL了。
      

  7.   

    加上url也不行,很多下载网站文件更新后,url是不变的
      

  8.   


    服务器上同样hash值的文件只保存一份,上传只是得到了对这个文件的访问权学习了。
      

  9.   


    像httpheader里的last-modified, etag 都可以作为参考,你要告诉我一个假的就没办法了
      

  10.   

    http的话主要是靠url和文件大小,来判断
    伪造hash百度网盘的秒传是会出错的
      

  11.   

    要秒杀文件只存了一份,但是这份文件对应的链接(http://...)可以有成百上千个迅雷的数据库里面存了非常多的链接,只要被请求过一次就会被存下来,等下一次有新用户请求相同的链接时,就可以显示被秒杀了,如果说不下载就知道MD5的值的话是不可能的。MD5本身就是一种摘要算法,没有下载,怎么摘。迅雷这牛,其实关键是它的链接数据库。