我试图获取一个私钥(private_key),所以我尝试了以下代码:
private_key = os.urandom(32).encode('hex')
但是它会抛出这个错误:
AttributeError: 'bytes' object has no attribute 'encode'
所以我检查了问题并解决了,在Python3x中bytes只能被解码。然后我将其更改为:
private_key = os.urandom(32).decode('hex')
但现在它会抛出这个错误:
LookupError: 'hex' is not a text encoding; use codecs.decode() to handle arbitrary codecs
我真的不明白为什么。当我在上一次出错后尝试这个方法时;
private_key = os.urandom(32).codecs.decode('hex')
报错信息提示:
属性错误: 'bytes' 对象没有 'codecs' 属性
我遇到了困境,请问应该如何解决?听说在Python 2x版本中可以正常运行,但我需要在Python 3x版本中使用。
.decode('hex')
部分。只需使用binascii.hexlify(os.urandom(32))
或binascii.hexlify(os.urandom(32)).decode()
。 - falsetru