我遵循非官方的bittorrent规范,用python编写bittorrent客户端
我试图计算sample.torrent文件中的片段总数,然后计算所有片段的总长度
我从metainfo检索到的工件长度为2^21。 根据bittorrent spec wiki,“info”键下的“pieces”值是每个片段的SHA-1散列,并连接为一个长字节字符串
他们说我应该通过ceil(总长度/件大小)获得件数,所以我想知道是否可以从件散列中获得总长度
我将片段散列在一个字节字符串中,我收到的长度为38560。38560*8位远小于2^21,所以我想我需要对其进行解码以计算总长度
torrent中的最后一个片段不一定是片段的完整大小,因此您只能从哈希列表和片段大小中提取大致的总大小。另外,填充(explicit或implicit)可以进一步扩大片段哈希所覆盖的字节范围
正如您已经注意到的,通过对每个文件的长度求和,可以得到准确的总长度
相关问题 更多 >
编程相关推荐