如何解决Python导入Crypto.Cipher库中AES加密算法失败的问题

配置:python 3.10  ;crypto 1.4.1

要使用 Crypto 模块,有2个Python包可以安装,分别是 pycrypto(旧版,不再维护)和 pycryptodome(新版,推荐使用)。

二者用 pip 安装的方式分别是 :

pip install pycrypto

pip install pycryptodome

导入AES模块时,两个库的用法是一样的:

from Crypto.Cipher import AES

如果因为安装的是旧版pycrypto,导致使用Python3.10解释器时无法兼容,可以尝试将旧版pycrypto升级为新版pycryptodome,具体操作方式如下:

找到旧版pycrypto所在位置(根据你项目选择的Python解释器的位置来找),假如在路径 C:\Users\xxx\AppData\Local\Programs\Python\Python310\Lib\site-packages 下,那么就去 C:\Users\xxx\AppData\Local\Programs\Python\Python310\Scripts 路径下激活该环境(这是为了保证pip安装新版pycryptodome的时候可以直接覆盖旧版pycrypto),激活方法如下:

首先在要激活的路径,也就是C:\Users\xxx\AppData\Local\Programs\Python\Python310\Scripts下,打开cmd,不会直接打开的话也可以先打开cmd再cd到该路径,然后在cmd输入activate命令后回车。等出现新的命令行的时候,输入pip install pycryptodome回车就行。

这种方法会将新版pycryptodome安装到旧版pycrypto所在的位置,并直接替换掉它。正常情况下site-packages中会新下载2个文件:(注:第一个Crypto文件名一定要是大写的C,如果是小写的crypto就手动把它改成大写的)

这样就能导入成功了。

作者:J226300

物联沃分享整理
物联沃-IOTWORD物联网 » 如何解决Python导入Crypto.Cipher库中AES加密算法失败的问题

发表回复