环境 pyhton3.6
pip 升级到10.0以上,,不然可能出现装不上的可能。
博主为了解码 AES 用了1天的时间,安了各种包,然而走了很多坑,在这里给大家提供一个简便的方法
首先在命令行(推荐) pip install Crypto
你会发现安装下来的包名 是小写的。(crypto )
包的路径在你python/lib/site_packages下
必须先改成大写 (Crypto )
然而导入 from Crypto.Cipher import AES 还是报错, 这是因为还需要安装依赖的包.
命令行中 pip install pycrypto ...你发现好像有报错, 那是因为这个包早就没有人维护了, 别担心一切都在掌握中!!!
查阅了大量的资料之后发现继这个包之后,又出来一个新包 ---- pycryptodome --------
pip install pycryptodome 安就行了,恭喜你成功了。
importbase64from Crypto.Cipher importAES#str不是16的倍数那就补足为16的倍数
defadd_to_16(value):while len(value) % 16 !=0:
value+= '\0'
return str.encode(value) #返回bytes
key= '123456' #密码
text= 'abc123def456' #待加密文本
aes= AES.new(add_to_16(key), AES.MODE_ECB) #初始化加密器
encrypted_text= str(base64.encodebytes(aes.encrypt(add_to_16(text))), encoding='utf-8').replace('\n', '') #执行加密并转码返回bytes
print(encrypted_text)
附上测试代码。