将pynacl中的公钥作为JSON对象发送

时间:2016-07-30 14:42:17

标签: python json sockets nacl-cryptography

我有一个服务器和客户端设置,当客户端连接时,它通过一个带有用户名和public_key的JSON对象发送。

我目前的代码:

private_key = PrivateKey.generate()
public_key = private_key.public_key
payload = json.dumps({"username": username, "public_key": public_key}).encode('hex')

但我明白了:

TypeError: <nacl.public.PublicKey object at 0x7fc6ecff18d0> is not JSON serializable

任何解决方案?

1 个答案:

答案 0 :(得分:4)

这可能有点晚了但是它解释了here

如果您想将它作为Base64,例如

from nacl.encoding import Base64Encoder
print(public_key.encode(Base64Encoder).decode())