PyNaCl - 打印 PrivateKey 原始十六进制值
PyNaCl - Printing PrivateKey raw hex value
我目前正在试验椭圆曲线,为了简单起见,我使用 python。
我有这个 class (NaCl/PrivateKey) 的实例,它已正确实例化。
但是看着它的public class变量,我似乎只能查询大小。
是我的误会吗,有没有一个public变量我可以查询获取底层私钥数据(同样我只是玩和学习,不用于生产)。
我已经能够打印 privateKey 实例,它会打印一个像这样的直接字节数组:\xa6_\xe5\xa3\xc3\xdd\x96\x04C\x03%\x0f\xe7)y\x92\n\xf7#\xee\xcdo\xff\xaf%\xedZ\xd4\x0e\xecr\xb4
然后我可以在 Python repl 中为 b
添加前缀 .toHex
调用以获取:
a65fe5a3c3dd96044303250fe72979920af723eecd6fffaf25ed5ad40eec72b4
是否有任何 Python 忍者可以指导我直接从实例进行更直接的访问?
我能做的最好的是 print(binascii.hexlify(privateKey.__bytes__()))
- 但这似乎不是一个合适的方法,直接访问 __bytes__
print(bytes(privateKey).hex())
就是答案。 __bytes__ 方法是一个魔术方法,当一个对象被转换为字节时被调用。 bytes
对象有一个方法 hex
来转换它们。
我目前正在试验椭圆曲线,为了简单起见,我使用 python。
我有这个 class (NaCl/PrivateKey) 的实例,它已正确实例化。
但是看着它的public class变量,我似乎只能查询大小。
是我的误会吗,有没有一个public变量我可以查询获取底层私钥数据(同样我只是玩和学习,不用于生产)。
我已经能够打印 privateKey 实例,它会打印一个像这样的直接字节数组:\xa6_\xe5\xa3\xc3\xdd\x96\x04C\x03%\x0f\xe7)y\x92\n\xf7#\xee\xcdo\xff\xaf%\xedZ\xd4\x0e\xecr\xb4
然后我可以在 Python repl 中为 b
添加前缀 .toHex
调用以获取:
a65fe5a3c3dd96044303250fe72979920af723eecd6fffaf25ed5ad40eec72b4
是否有任何 Python 忍者可以指导我直接从实例进行更直接的访问?
我能做的最好的是 print(binascii.hexlify(privateKey.__bytes__()))
- 但这似乎不是一个合适的方法,直接访问 __bytes__
print(bytes(privateKey).hex())
就是答案。 __bytes__ 方法是一个魔术方法,当一个对象被转换为字节时被调用。 bytes
对象有一个方法 hex
来转换它们。