哪种加密算法进行序列化。BestAvailableEncryption(b'mypassword') 在 python cryptography lib 中使用?



我发现了这个代码片段,它正在将RSA私钥序列化为加密的密文。我想知道这个代码serialization.BestAvailableEncryption(b'mypassword')中的哪种算法会被用来做这件事

from cryptography.hazmat.primitives import serialization
pem = private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.BestAvailableEncryption(b'mypassword')
)

这取决于private_key对象的实现。BestAvailableEncryption只是说您没有特定的偏好,希望库为您选择密钥的加密类型。

在OpenSSL后端(这似乎是唯一的一个(,这里选择了最佳加密,目前它选择了'aes-256-cbc'密码。这种情况在未来的版本中可能会改变。将选择权留给实现是拥有BestAvailableEncryption类的原因。

最新更新