我一定在nacl 文档中遗漏了一些东西。如何以纯文本格式保存私钥和公钥?可用的编码器有 Raw(二进制?)、Hex、Base16/32/64 和 URLSafeBase64Encoder。
我以为我会使用该base64
库来转换 Base64 编码的密钥。
例子:
from nacl.signing import SigningKey
from nacl.encoding import Base64Encoder
from base64 import b64decode
# Create SigningKey as base64-encoded bytes
signing_key = SigningKey.generate().encode(encoder=Base64Encoder)
print(type(signing_key))
# Convert base64-encoded bytes to string
signing_key = signing_key.decode('utf-8')
print(type(signing_key))
# Decode base64 string to plain text
signing_key = b64decode(signing_key)
print(type(signing_key))
print(signing_key)
结果:字节对象
<class 'bytes'>
<class 'str'>
<class 'bytes'>
b'e\xfa ?H\xd8\xe7^2\xfa1\x18\xa61\xca\x95\xec~\x8c\x011[\xf8\x05q!\xfc\xe4\x94\x13\xc2\x89'
试过:
- 这里的
Decoding Strings with Python
教程,以及各种变体。 - 它们都不会导致纯文本版本的
SigningKey
- 我正在寻找
-----BEGIN OPENSSH PRIVATE KEY-----
纯文本中的等 - 如何强制该
b64decode
功能显示纯文本?