【问题标题】:How do I convert a base64 encoded torrent info_hash to a magnet link info_hash? (Linux)如何将 base64 编码的 torrent info_hash 转换为磁力链接 info_hash? (Linux)
【发布时间】:2017-01-01 17:16:09
【问题描述】:

我有一个 base64 编码的 info_hashes 列表,例如:

GiQilvwxZ4LUpJ/NpVUv9f7tV8s=

但是当我运行 echo ... | base64 -d 时,它并没有给我真正的 infohash,而是一堆乱码。

如何从 base64 编码的链接中获取可用于磁力链接的真实 info_hash?

提前致谢。

【问题讨论】:

  • 输出是一个 20 字节的原始二进制字符串。在磁力链接中,info_hash 是十六进制编码的。 (由于遗留原因,它也可能是 base32 编码的。)所以你需要对输出进行十六进制编码。
  • 谢谢,找到了执行此操作的 unix 命令。
  • Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super UserUnix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?

标签: linux base64 sha1 bittorrent info-hash


【解决方案1】:

需要将十六进制转换为基数 32,命令如下:

echo GiQilvwxZ4LUpJ/NpVUv9f7tV8s=| base64 -d| xxd -l 32 -p

【讨论】:

  • 它应该是十六进制编码的。仅出于与旧版现有链接的兼容性,一些客户端接受 base32。 bittorrent.org/beps/bep_0009.html
  • 你能解释一下吗?我需要使用 java 来做到这一点。
  • 你也许可以通过谷歌搜索并找到一些可以为你进行这种转换的 java Base64 类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 2012-04-28
相关资源
最近更新 更多