如何在Python中将32位信息哈希转换为40位信息哈希?

0 投票
2 回答
555 浏览
提问于 2025-04-16 18:54

有些网站,比如Sumotorrent.com,使用的是32位长的磁力链接哈希值,但我的代码是为了存储和处理40位长的哈希值而设计的。

2 个回答

1

幸运的是,32比40小,所以你可以简单地在后面加上8个零,这样就不会丢失任何信息。

1

这些磁力链接中的信息哈希看起来是用Base32编码的,而在BitTorrent中使用的信息哈希是十六进制的(也就是Base16)。这似乎能得到一致的结果:

import base64
base64.b16encode(base64.b32decode("<your hash goes here>"))

撰写回答