一、Crypto 库介绍
Crypto 是一个 Python 加密库,它提供了许多加密算法的实现,包括对称加密算法、非对称加密算法、哈希算法等。通过使用 Crypto 库,可以轻松地实现各种加密任务,例如数据加密、数字签名、哈希计算等。
Crypto 库的加密算法实现经过了严格的质量控制和测试,以确保其安全性和可靠性。此外,Crypto 库还提供了许多其他功能,例如密码学原语、随机数生成、Base64 编码等。
二、报错代码
#原代码
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad
#报错信息
Traceback (most recent call last):
File "D:\xxx\xxxx\demo.py", line 2, in <module>
from Crypto.Cipher import DES
ModuleNotFoundError: No module named 'Crypto'
三、处理方式
1、常规处理方式
pip install Crypto
#或python3
pip3 install Crypto
正常的经过上边代码后,就可以正常运行了。但是还有例外,比我运气爆棚的我经过上边代码后,显示正常,但是运行后还是报错
然后我尝试了删除重装
pip uninstall Crypto
#重新安装
pip install Crypto
我经过重新安装后,还是无法使用
2、非常规处理方式
还是作为运气爆棚的我,常规方式不行了,那么就要开始排查各种问题,包括查版本,查代码,查权限,查解释器,甚至用上了新科技 GPT,然后,还是不行,在经过我七七八十九次排错后,我发现,我将解释器目录下的“\Lib\site-packages”目录里,找到了,”crypto“目录
我将其改成大写 C,改成“Crypto”后,再去运行发现无报错,运行正常
四、原因
可能是由于 Python 包管理器 pip 在下载和安装包时默认将大小写敏感的文件名保持一致,因此在安装 Crypto 库时,会将文件名保持为"crypto",而 Python 的模块导入是大小写敏感的,因此需要手动将文件名改为大写的"Crypto"才能正常运行。
本人萌新安全工程师一枚,才疏学浅,可能解释的不对,望指正,谢谢。