from Crypto.Cipher import AES 找不到模块,报错问题,windows上

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 然后把库名小写改大写

你可能感兴趣的:(crypto,模块报错)