python - 在 python 加密库中,serialization.BestAvailableEncryption(b'mypassword') 使用哪种加密算法?

标签 python python-cryptography

我找到了这段代码片段,这里是将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 只是表示您没有特定的首选项,并且希望库为您选择 key 的加密类型。

在 OpenSSL 后端(似乎是唯一的)中,选择了最佳加密 here ,当前选择 'aes-256-cbc' 密码。这可能会在未来的版本中发生变化。将选择留给实现是拥有 BestAvailableEncryption 类的原因。

关于python - 在 python 加密库中,serialization.BestAvailableEncryption(b'mypassword') 使用哪种加密算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61166493/

相关文章:

python - 如何在 DEAP Python 中为遗传算法设置群体中的特定染色体

Python Pandas DtypeWarning 在导入时指定 dtype 选项 - 如何?

python - 产生所有元素都是整数的元组

python - Tensorflow:对数据进行切片并对每个切片应用卷积

python - PyCryptoDome/Python 中 AES-CFB 的加密不等式

Python/Scipy 滤波器离散化

python - Pipenv 安装在加密包 : "Disabling PEP 517 processing is invalid" error 上失败

python - cryptography AssertionError : sorry, 但此版本仅支持 100 个命名组

python - 数据加密静态加密