码迷,mamicode.com
首页 > 编程语言 > 详细

python AES加密解密 pycryptodome

时间:2018-04-20 22:11:55      阅读:751      评论:0      收藏:0      [点我收藏+]

标签:掌握   byte   初始化   升级   code   资料   info   ...   ext   

环境 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 pycrypto   安就行了,恭喜你成功了。

import base64
from Crypto.Cipher import AES


# str不是16的倍数那就补足为16的倍数
def add_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)

 

附上测试代码。

 

python AES加密解密 pycryptodome

标签:掌握   byte   初始化   升级   code   资料   info   ...   ext   

原文地址:https://www.cnblogs.com/yijian001/p/8893626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!