Python使用PyCrypto实现AES加密功能示例


Posted in Python onMay 22, 2017

本文实例讲述了Python使用PyCrypto实现AES加密功能。分享给大家供大家参考,具体如下:

#!/usr/bin/env python
from Crypto.Cipher import AES
import base64
import os
# the block size for the cipher object; must be 16, 24, or 32 for AES
BLOCK_SIZE = 32
# the character used for padding--with a block cipher such as AES, the value
# you encrypt must be a multiple of BLOCK_SIZE in length. This character is
# used to ensure that your value is always a multiple of BLOCK_SIZE
PADDING = '{'
# one-liner to sufficiently pad the text to be encrypted
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING
# one-liners to encrypt/encode and decrypt/decode a string
# encrypt with AES, encode with base64
EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
# generate a random secret key
secret = os.urandom(BLOCK_SIZE)
# create a cipher object using the random secret
cipher = AES.new(secret)
# encode a string
encoded = EncodeAES(cipher, 'password')
print 'Encrypted string:', encoded
# decode the encoded string
decoded = DecodeAES(cipher, encoded)
print 'Decrypted string:', decoded
Python 相关文章推荐
Python接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
Python:Scrapy框架中Item Pipeline组件使用详解
Dec 27 Python
pandas对指定列进行填充的方法
Apr 11 Python
flask框架中勾子函数的使用详解
Aug 01 Python
python实现飞机大战微信小游戏
Mar 21 Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
python实现简易学生信息管理系统
Apr 05 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
Django项目创建及管理实现流程详解
Oct 13 Python
python的html标准库
Apr 29 Python
django+js+ajax实现刷新页面的方法
May 22 #Python
Python正则表达式经典入门教程
May 22 #Python
Python AES加密模块用法分析
May 22 #Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 #Python
对Python进行数据分析_关于Package的安装问题
May 22 #Python
详解python之配置日志的几种方式
May 22 #Python
多版本Python共存的配置方法
May 22 #Python
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
最小化数据传输――在客户端存储数据
2006/10/09 PHP
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
Python 从列表中取值和取索引的方法
2018/12/25 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
python安装scipy的方法步骤
2019/06/26 Python
python如何实现数据的线性拟合
2019/07/19 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
德国帽子专家:Hutshopping
2019/11/03 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
医护人员英文求职信范文
2013/11/26 职场文书
应届大学生自荐书
2014/06/17 职场文书
幼儿园庆六一主持词
2015/06/30 职场文书
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技