Python AES加密模块用法分析


Posted in Python onMay 22, 2017

本文实例讲述了Python AES加密模块用法。分享给大家供大家参考,具体如下:

AES是新的一种加密模块。在上次介绍过在C语言中如何来OpenSSL中的DES。这次我们来看看Python自带的库如何来使用AES来加解密。其实二者的原理还是非常像,只是说在python中来做这个事情会比C语言要简单点,但是比起C#/Java还是有点点??隆T?#/JAVA这种语言中,对于加密的源数据的处理,padding一般都会有完整的实现。我在上次C语言中也处理过这个问题。在python库中,也是需要自己来处理这个。

from Crypto.Cipher import AES
# padding算法
BS = 16
pad = lambda s: s + (BS - len(s) % BS) * chr(0)
unpad = lambda s : s[0:-ord(s[-1])]
# 将字符串转换成二进制的buff块
def parse_hex(hex_str):
 l=int(math.ceil(len(hex_str)/2))
 buf=''
 for i in range(0,l):
  s=hex_str[(i*2):((i+1)*2)]
  buf=buf+chr(int(s,16))
 return buf
# 解析加密的key
key=parse_hex("68b329da9893e34099c7d8ad5cb9c940")
iv=parse_hex("68b329da9893e34099c7d8ad5cb9c940")
# 新建一个AES的对象
aes_obj = AES.new(key, AES.MODE_CBC,iv)
# 做字节对齐
padding_zero=pad(raw_buf)
# 开始加密
encrypt_buf=aes_obj.encrypt(padding_zero)
# 解密
buff=aes_obj.decrypt(encrypt_buf)

这个代码中padding写的还是非常漂亮的。如果在C里面实现这个,还需要??滦床簧佟?/p>

Python 相关文章推荐
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
Python中Continue语句的用法的举例详解
May 14 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
利用Python实现网络测试的脚本分享
May 26 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
python 消费 kafka 数据教程
Dec 21 Python
解决python 读取 log日志的编码问题
Dec 24 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
python实现从ftp服务器下载文件
Mar 03 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
python中pow函数用法及功能说明
Dec 04 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 #Python
对Python进行数据分析_关于Package的安装问题
May 22 #Python
详解python之配置日志的几种方式
May 22 #Python
多版本Python共存的配置方法
May 22 #Python
Python中元组,列表,字典的区别
May 21 #Python
Apache如何部署django项目
May 21 #Python
python使用mysql数据库示例代码
May 21 #Python
You might like
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
js实现二级导航功能
2017/03/03 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
python基础教程之常用运算符
2014/08/29 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python2.7安装图文教程
2018/03/13 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
Python基本socket通信控制操作示例
2019/01/30 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
四议两公开实施方案
2014/03/28 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
2015年银行员工工作总结
2015/04/24 职场文书
你会写请假条吗?
2019/06/26 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL