【问题标题】:Torrent tracker reply with same peer id for every request?Torrent 跟踪器对每个请求都使用相同的对等 id 回复?
【发布时间】:2011-01-03 10:37:02
【问题描述】:

我正在编写一个 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

【问题讨论】:

  • 在规范中它说: info_hash 元信息文件中信息值的编码形式的 20 字节 sha1 哈希。请注意,这是元信息文件的子字符串。不要忘记对它进行 URL 编码。这是种子文件中的“信息/片段”之一吗?或者我如何生成这个哈希?

标签: java tracker


【解决方案1】:

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

因此将是下面 sn-p 粗体部分的 SHA1:

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

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

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

【讨论】:

  • 你应该点击你自己的答案旁边的勾号来表明这是正确的,而不是用 [SOLVED] 注释问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
相关资源
最近更新 更多