来自片段长度和信息哈希的Bittorrent总大小

2024-09-27 00:17:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我遵循非官方的bittorrent规范,用python编写bittorrent客户端

我试图计算sample.torrent文件中的片段总数,然后计算所有片段的总长度

我从metainfo检索到的工件长度为2^21。 根据bittorrent spec wiki,“info”键下的“pieces”值是每个片段的SHA-1散列,并连接为一个长字节字符串

他们说我应该通过ceil(总长度/件大小)获得件数,所以我想知道是否可以从件散列中获得总长度

我将片段散列在一个字节字符串中,我收到的长度为38560。38560*8位远小于2^21,所以我想我需要对其进行解码以计算总长度


Tags: 文件sample字符串info规范客户端字节wiki
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:34

torrent中的最后一个片段不一定是片段的完整大小,因此您只能从哈希列表和片段大小中提取大致的总大小。另外,填充(explicitimplicit)可以进一步扩大片段哈希所覆盖的字节范围

正如您已经注意到的,通过对每个文件的长度求和,可以得到准确的总长度

相关问题 更多 >

    热门问题