我一直试图用python3从我的私有密钥生成torhostname。 我使用了这个tutorial(java),并试图将其更改为我想要实现的目标,但我似乎无法生成我的主机名。我怀疑错误存在于最后一行的切片中,但我找不到任何有关它的文档。在
from Crypto.PublicKey import RSA
from base64 import b32encode as b32
import hashlib
privkey= open('privkey',"r")
#print(key.read())
key = RSA.importKey(privkey.read())
pubkey = key.publickey()
print(b32(hashlib.sha1(pubkey.exportKey()[22:).digest()[:10]))
另外,我的目标是尽可能容易理解,而且this answer对我来说似乎过于复杂。在
是的,我知道这个问题很古老,但也许我的答案会让像我这样的人受益,因为他们正试图做一些类似的事情,却偶然发现了这个问题。我想我明白了-我用了你的一些代码和PyShallot的一些代码,这对我很有用。在
上面的代码打印一个洋葱地址和相应的私钥。pysholot似乎是通过逐个计算公钥和私钥来工作的,而不是使用RSA库。我使用rsa模块生成私钥,使用Crypto模块提取各个rsa参数,然后使用pysholt的代码计算公钥。从那里我可以得到洋葱地址。它真的很难看而且很老套,而且肯定有一种更好的方法可以更快,而且不用那么多库。但它是有效的。在
您几乎是对的,只需将摘要切分为16个字节,然后将哈希切分为16个字符:
相关问题 更多 >
编程相关推荐