在 pynacl 中发送 public 键作为 JSON 对象

Sending a public key in pynacl as JSON object

我有一个服务器和客户端设置,当客户端连接时,它会发送带有用户名和 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

有什么解决办法吗?

这可能有点晚了,但已经解释过了 here

例如,如果您希望将其作为 Base64,您可以

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