1

我正在编写一个 Java 应用程序来查看 torrent 文件中列出的跟踪器。

我发送以下内容:

http://pow7.com/announce?info_hash=%3f%99%79%31%73%27%9e%be%1d%d2%cd%5f%af%98%7c%17%5f%43%89%f3&peer_id=-jT1000-122843C6A4B0&port=6881&downloaded=0&left=0

但无论我发送什么 info_hash,我要么得到相同的对等 IP 地址(74.253.253.31:6757),要么出现错误。

任何想法为什么会发生这种情况?

最好的问候,德克萨斯州

4

1 回答 1

0

好的,我想我找到了问题的答案:需要从 info 键的值生成一个 SHA1 哈希。我将所有字节从d(包括,单词“info”之后的下一个字节)到信息映射的最后一个e(包括)。

因此将是下面代码片段粗体部分的 SHA1:

...:info d5:filesld6:...[many bytes]...e 9:...(不包括 d 前面和 e 后面的空格)

然后我简单地转换 MessageDigest 返回的字节数组,并为每个十六进制 2 位对插入 %。例如:

%70%47%8F...[剪辑]...%13%6F%6C

于 2011-01-03T12:56:57.770 回答