from Crypto.Cipher import AES 找不到模块,报错问题,windows上
程序员文章站
2022-05-29 11:01:40
...
crypto 模块理解
为了提供通用的加密算法和哈希算法,
MD5是一种常用的哈希算法,用于给任意数据一个“签名”。这个签名通常用一个十六进制的字符串表示
AES
AES是一种常用的对称加密算法,加解密都用同一个**。crypto模块提供了AES支持,但是需要自己封装好函数,便于使用:
from Crypto.Cipher import AES
import sys
import base64
if sys.getdefaultencoding()!="utf8":
reload(sys)
sys.setdefaultencoding("utf8")
def aes_encrypt(key,string):
aes=AES.new(key)
string+="Gc654321"
string+=(32-len(string))*" "
_u=aes.encrypt(string)
return base64.b64encode(_u)
from Crypto.Cipher import AES 找不到模块,报错问题,windows上
解决方法
把原先的 crypto 或 pycrypto 卸掉,重新安装
pip uninstall crypto
pip unijstall pycrypto
# 重新安装
pip install pycrypto
在windows 上可能会报错,原因是windows 缺少编译环境
根据报错提示下载编译环境,
VCForPython27 (1).msi
https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D90
pycrypto-2.6.1.tar.gz
https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.1.tar.gz
再重新pip install pycrypto
下载pip install crypto
然后把库名小写改大写