洪流info_hash参数(The torrent info_hash parameter)

2019-07-29 01:05发布

如何计算的info_hash参数 ? 阿卡对应信息dictionar哈希?

来自官方的规格:

info_hash来自元信息文件中的info值中B编码格式的20字节的SHA1哈希。 请注意,这是元信息文件的一个子。 这个值几乎肯定要被转义。

这是否意味着只要从元信息文件中的串并做了reprezentative字节的SHA-1散列?

....因为这是我试过12次,但没有更迭意味着我比较与一个结果散列我应该结束了with..and它们之间的区别..that + Tracker回应故障,未知的洪流......或某物

那么,你如何计算info_hash?

Answer 1:

bdecode元文件,然后它只是“SHA1(bencode(元数据[‘信息’]))”(即bencode只有信息快译通一遍,然后凑那个)。



Answer 2:

图元文件已B编码,所以我不明白为什么你再编码呢?

我终于得到了在Java代码中这方面的工作,这是我的代码:

byte metaData[];  //the raw .torrent file

int infoIdx = ?;  //index of 'd' right after the "4:info" string

info_hash = SHAsum(Arrays.copyOfRange(metaData, infoIdx, metaData.length-1));

这是假设的“信息”块是在torrent文件的最后一个块(错了吗?)

不要排序或类似的东西,只是使用原始种子文件的一个子。

我的作品。



Answer 3:

访问https://gist.github.com/shxsun/9085646 ,这是一个Python代码,说明如何info_generate,好运气。



文章来源: The torrent info_hash parameter