当前位置: 首页 > news >正文

温州大都市建设开发有限公司网站网站底部菜单

温州大都市建设开发有限公司网站,网站底部菜单,wordpress个性登录,免费模板app下载bt种子的hansh值计算#xff0c;最近忽然对bt种子感兴趣了#xff08;原因勿问#xff09; 1. bt种子#xff08;概念#xff09; bt 是一个分布式文件分发协议#xff0c;每个文件下载者在下载的同时向其它下载者不断的上传已经下载的数据#xff0c;这样保证下载越快… bt种子的hansh值计算最近忽然对bt种子感兴趣了原因勿问 1. bt种子概念 bt 是一个分布式文件分发协议每个文件下载者在下载的同时向其它下载者不断的上传已经下载的数据这样保证下载越快上传越快从而实现告诉下载 2. bt 如何实现下载同时上传文件 这个需要从文件本身说起bt文件包含了两部分信息一部分是Tracker信息一部分是文件信息tracker信息主要是记录下载过程中需要的tracker服务器地址和针对tracker服务器的设置文件信息是根据对目标文件的计算生成的计算结果会以B编码规则进行编码(英文不太好这部分信息来自百度百科)。 文件信息里会把需要下载的文件进行分块每个块的索引信息会写到torrent文件中在这里上传一个迅雷的任务详细页面 可以看到具体的任务分块信息每个下载者都可以上传自己已经下载的分块数据如何获取其它下载者已经下载的分块信息数据呢一种方式是通过tracker服务器来实现的可以记录每个下载者这也就是我们经常看见局域网的bt分享网站会有对上传下载的流量统计功能每个人下载多少上传多少从而确定每个人的贡献值。 这也就是海盗湾之前被瑞典起诉的原因tracker服务器提供了给每个下载者下载盗版的可能性和机会当然现在对于众多的magnet协议采用了dht技术这样对于tracker服务器的存在就显得没有必要了这是后话慢慢在描述! 3.  bt的hash值计算(特征值计算) 由上可知对于每一个bt种子都有包含每个分块的文件信息这样可以保证即使在tracker服务器有变化的情况下bt种子的唯一性(这里插一句我曾经simple的以为可以对bt种子取md5值就可以确定其唯一性too naive啊)那如何计算这个hash值呢这需要对bt文件组成的一个深入了解这方面以后相当多的文章附上一篇 http://www.cnblogs.com/DxSoft/archive/2012/02/11/2346314.html 根据这篇文章的描述谢了两段测试程序 方法1直接根据info后的字段信息即4:info后的字段我们可以截取bt种子中的一段 例如 d8:announce27:http://tk3.5qzone.net:8080/13:announce-listll27:http://tk3.5qzone.net:8080/el36:http://btfans.3322.org:8000/announceel36:http://btfans.3322.org:8080/announceel36:http://btfans.3322.org:6969/announceel42:http://denis.stalker.h3q.com:6969/announceel40:http://torrent-download.to:5869/announceel45:http://tracker.openbittorrent.com:80/announceel39:http://tracker.publicbt.com:80/announceel40:http://tracker.bittorrent.am:80/announceel30:http://tracker.prq.to/announceel34:http://tracker.prq.to/announce.phpel43:http://tracker.torrentbox.com:2710/announceel34:http://tpb.tracker.prq.to/announceel30:http://tr.wjl.cn:8080/announceel37:http://219.152.120.234:6969/announce el34:http://mdbt.3322.org:6969/announceee7:comment19:YYeTs人人影视资源站13:comment.utf-826:YYeTs浜轰汉褰辫璧勬簮绔?0:created by13:BitComet/0.7013:creation datei1261532244e8:encoding3:GBK4:infod5:filesld6:lengthi943e4:path 第一个字节d代表dict意思字典组成4:info 代表着info字段长度为4意思这样我们可以写下解析hash的代码值: #!python import hashlib def sha1sum(src):if not len(src):return m hashlib.sha1(src)return m.hexdigest()#filename is the torrent file name with open(filename) as f:torrent_data f.read()if -1 ! torrent_data.find(nodes):info_data torrent_data[torrent_data.find(info)4:torrent_data.find(nodes)-2]else:info_data torrent_data[torrent_data.find(info)4:len(torrent_data) - 1]sha1_data sha1sum(info_data)print the hash data of torrent is: , sha1_data.upper() 在实际测试时发现在torrent中有两种情况一种是包含nodes字段信息的一种是不包含nodes信息的torrent种子需要分别处理但是这种处理的方式较为繁琐也不清楚后续到底有多少的坑在里面需要应对不同情况于是去google了一下在stackoverflow里面提到一个库即bencode库这就是我们的第二种方案 方案2 通过bencode库实现对hash值得计算(bencode库后续详细介绍和解读)代码如下(需要安装bencode库)地址 https://pypi.python.org/pypi/BitTorrent-bencode/5.0.8.1 #!/usr/bin/pythonimport sys, os, hashlib, StringIO import bencodedef main():# Open torrent filetorrent_file open(sys.argv[1], rb)metainfo bencode.bdecode(torrent_file.read())info metainfo[info]print hashlib.sha1(bencode.bencode(info)).hexdigest() if __name__ __main__:main()
http://www.w-s-a.com/news/183727/

相关文章:

  • 用ps怎么做网站的效果图互联网营销师报名入口官网
  • 网站的后端怎么开发网站 白名单
  • 济宁中小企业网站建设wordpress爆破工具
  • 零基础网站建设视频商城系统平台有哪些
  • 那个网站做百科好过wordpress删除
  • 优化网站排名怎么制作网站建设数据库模板
  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发
  • asp 网站权限设计做网站业务员
  • 做棋牌网站违法嘛网络服务网络推广
  • 专门做推广的网站吗免费建域名网站
  • 在百度做网站株洲网站平台搭建
  • 用node做的网站南宁网站定制开发
  • 做刷单网站犯法吗wordpress depth
  • 潍坊青州网站建设少儿编程app
  • 表白网站制作源代码自己怎么免费做网站网页
  • 开源网站建设是什么工作个人虚拟网站
  • 网站制作的一般过程优化关键词排名公司
  • 如何使用阿里云建设网站网站两边广告
  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页