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中使用第三方库xlrd来读取Excel示例
Apr 05 Python
Python读大数据txt
Mar 28 Python
python DataFrame 修改列的顺序实例
Apr 10 Python
配置 Pycharm 默认 Test runner 的图文教程
Nov 30 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python实现爬山算法的思路详解
Apr 09 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
Jan 24 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
python 实现多维数组(array)排序
Feb 28 Python
Python网页解析器使用实例详解
May 30 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
Jan 06 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
一个oracle+PHP的查询的例子
2006/10/09 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
php上传文件的增强函数
2010/07/21 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
Websocket协议详解及简单实例代码
2016/12/12 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
20个常用Python运维库和模块
2018/02/12 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
Python2与Python3的区别点整理
2019/12/12 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Python之字典对象的几种创建方法
2020/09/30 Python
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
旅游管理专业个人求职信范文
2013/12/24 职场文书
班组长岗位职责范本
2014/01/05 职场文书
顶撞领导检讨书
2014/01/29 职场文书
关于期中考试的反思
2014/02/02 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
监督检查工作方案
2014/05/28 职场文书
个人作风建设总结
2014/10/23 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
稽核岗位职责
2015/02/10 职场文书
考研导师推荐信范文
2015/03/27 职场文书
导游词之广西漓江
2019/11/02 职场文书
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers