Torrent跟踪器为每个请求回复相同的对等ID?

时间:2011-01-03 10:37:02

标签: java tracker

我正在编写一个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)或错误。

为什么会发生这种情况?

祝你好运, TX

1 个答案:

答案 0 :(得分:0)

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

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

...:info d5:filesld6:... [多字节] ... e 9:... (没有前面的空格和后面的空格)

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

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