python简单实现AES加密和解密


Posted in Python onMarch 28, 2019

本文实例为大家分享了python实现AES加密和解密的具体代码,供大家参考,具体内容如下

参考:python实现AES加密和解密

AES加密算法是一种对称加密算法, 他有一个密匙, 即用来加密, 也用来解密

import base64
from Crypto.Cipher import AES
# 密钥(key), 密斯偏移量(iv) CBC模式加密
 
def AES_Encrypt(key, data):
  vi = '0102030405060708'
  pad = lambda s: s + (16 - len(s)%16) * chr(16 - len(s)%16)
  data = pad(data)
  # 字符串补位
  cipher = AES.new(key.encode('utf8'), AES.MODE_CBC, vi.encode('utf8'))
  encryptedbytes = cipher.encrypt(data.encode('utf8'))
  # 加密后得到的是bytes类型的数据
  encodestrs = base64.b64encode(encryptedbytes)
  # 使用Base64进行编码,返回byte字符串
  enctext = encodestrs.decode('utf8')
  # 对byte字符串按utf-8进行解码
  return enctext
 
 
def AES_Decrypt(key, data):
  vi = '0102030405060708'
  data = data.encode('utf8')
  encodebytes = base64.decodebytes(data)
  # 将加密数据转换位bytes类型数据
  cipher = AES.new(key.encode('utf8'), AES.MODE_CBC, vi.encode('utf8'))
  text_decrypted = cipher.decrypt(encodebytes)
  unpad = lambda s: s[0:-s[-1]]
  text_decrypted = unpad(text_decrypted)
  # 去补位
  text_decrypted = text_decrypted.decode('utf8')
  return text_decrypted
 
 
key = '0CoJUm6Qyw8W8jud'
data = 'sdadsdsdsfd'
AES_Encrypt(key, data)
enctext = AES_Encrypt(key, data)
print(enctext)
text_decrypted = AES_Decrypt(key, enctext)
print(text_decrypted)
hBXLrMkpkBpDFsf9xSRGQQ==
sdadsdsdsfd

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于Python的身份证号码自动生成程序
Aug 15 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
django模板加载静态文件的方法步骤
Mar 01 Python
简单了解python协程的相关知识
Aug 31 Python
Python 经典算法100及解析(小结)
Sep 13 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
如何通过python实现人脸识别验证
Jan 17 Python
Python接口测试结果集实现封装比较
May 01 Python
Django框架实现在线考试系统的示例代码
Nov 30 Python
Python中dict和set的用法讲解
Mar 28 #Python
python3.x实现base64加密和解密
Mar 28 #Python
python实现AES加密解密
Mar 28 #Python
详解python tkinter教程-事件绑定
Mar 28 #Python
Python中捕获键盘的方式详解
Mar 28 #Python
python sort、sort_index方法代码实例
Mar 28 #Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 #Python
You might like
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
Cannot modify header information错误解决方法
2008/10/08 PHP
php 代码优化之经典示例
2011/03/24 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
Python 类的魔法属性用法实例分析
2019/11/21 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
农救科工作职责
2013/11/27 职场文书
写给老婆的检讨书
2014/02/21 职场文书
个人培训自我鉴定
2014/03/28 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
销售求职信范文
2014/05/26 职场文书
年终工作总结范文2014
2014/11/27 职场文书
世界文化遗产导游词
2019/08/07 职场文书
python中的装饰器该如何使用
2021/06/18 Python
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript