我试图配置和安装站点,而他们的base32太长了,i2p是使用b32还是sha256?或者把b32转换成256个,作为一个网站?给出的例子是52个字符http://www.i2p2.de/naming.html#base32,base32不是52个字符,而是32个字符http://online-calculators.appspot.com/base32/。我遗漏了什么?是否有专门针对i2p的工具?
发布于 2014-02-17 00:45:18
Base32是一种编码任意字节数据的符号。对byte 32编码数据的最大长度没有限制--“32个字符”是指用于用Base32符号编写任意字节数据的一组字符。得到的字符串将只包含来自该集合的字符。唯一的限制是be 32编码字符串的长度必须是40位的倍数。
Base32地址在I2P中是I2P目标的SHA256哈希的Base32编码。
下面是一个Python脚本,用于将Base64 64编码的I2P目的地转换为I2P B32地址(来自I2P单调存储库中的i2p.scripts分支):
#!/usr/bin/env python
#
# Written by duck
# http://forum.i2p/viewtopic.php?t=4367
#
import base64, hashlib, sys
if len(sys.argv) != 2:
print 'Usage: 64to32.py <base64key>'
sys.exit(1)
key = sys.argv[1]
raw_key = base64.b64decode(key, '-~')
hash = hashlib.sha256(raw_key)
base32_hash = base64.b32encode(hash.digest())
print base32_hash.lower().replace('=', '')+'.b32.i2phttps://stackoverflow.com/questions/20237769
复制相似问题