python - 模块“Crypto.PublicKey.RSA”没有属性“import_key”
问题描述
我有一个 C# 应用程序,它使用以下公钥成功地加密和解密(使用相应的私钥)。我在 Python 中使用相同的公钥进行加密,使用以下代码。我收到以下错误:
模块“Crypto.PublicKey.RSA”没有属性“import_key”
我参考了RSA - pycryptodome.readthedocs.io来检查“import_key”。它说extern_key (string or byte string)
。
注意:我已经pycrypto 2.6.1
安装了。使用验证conda list
。
如何解决这个问题,以便 Python 可以使用 C# 应用程序成功使用的相同密钥?
Python代码
import Crypto
from Crypto.PublicKey import RSA
pubkey = 'BgIAAACkAABSU0ExAAQAAAEAAQB5ad3IFUIQ+NJeJEVlHJb0BaXhPCpeP+477ql+2dsNLzpn+3f2Lm5UWZhig60rx7/5/rAlAH+emU6WwOZNxtMtFbdu9CNBUjRp9FiEmJHZLaGqqmEFDyp287k3HVCFVzxxRAEy8ftL/q6KaE3KKrHoFiMozretUXulYy5OE1yR7w=='
import base64
decodedPublicKey = base64.b64decode(pubkey)
pub_key = RSA.import_key(decodedPublicKey)
encrypted = pub_key.encrypt('hello world', None)
print(encrypted)
text = pvt_key.decrypt(encrypted)
print(text)
解决方案
你是最近安装的吗?我们刚刚注意到我们昨天构建的 Raspberry Pi 设备存在问题。在 /usr/local/lib/python3.5/dist-packages/Crypto/PublicKey 文件夹中,许多文件(包括 RSA.py)是空的。几分钟前我们刚刚卸载并重新安装了 pycryptodome,文件不再是空的。
推荐阅读
- amazon-web-services - 哪种 AWS IAM 委托人以 AROA 开头?
- python - 在python中捕获全局变量值的变化
- c# - Visual Studio 2017 c# 将数据导出到 Excel
- python - 我可以使用绘图函数作为图形布局模板并使用其他自定义绘图函数填充子图吗?
- node.js - 超级账本作曲家是否支持多线程?
- python-3.x - 如何找到平均文件夹深度?
- python - 什么是使用从函数计算的键的好方法
- git - 拉取请求关闭后,Git 将远程主机合并到本地主机 - 最佳实践
- node.js - 节点 js 脚本未启动,异步 * 意外令牌
- c# - 在这种情况下如何摆脱沮丧?