欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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