Bittorrent的KRPC - 为什么节点ID的info_hash的一半大小,并使用每个字符A

2019-09-29 20:12发布

这严重地困扰我。

原来的Kademlia提供了160bit的十六进制像SHA1应该用于原因很明显:当涉及到信息散列同行搜索,你简单的搜索nodeIDs,因为他们应该是等同于同一个系统SHA1信息散列。

但是阅读本: http://www.bittorrent.org/beps/bep_0005.html

该ID是abcdefghi0123456789它是:1)一半大小2)使用多个字符然后标准十六进制编码。

所以我缺少什么?

为什么节点ID的这样吗?

Answer 1:

要在示例中的原始二进制NODE_ID打印,
它巧妙地被选定为只包含字母数字字符。
示例中的NODE_ID实际上是: abcdefghij0123456789
正如你可以看到有20个字符= 20个字节= 160位按预期方式。

abcdefghij0123456789十六进制编码是: 0x6162636465666768696A30313233343536373839



文章来源: Bittorrent KRPC - Why are node ID's half the size of an info_hash and use every character a-z?