python实现无证书加密解密实例


Posted in Python onOctober 27, 2014

本文实例讲述了python实现无证书加密解密的方法,分享给大家供大家参考。具体实现方法如下:

无证书加密就是双方不需要维护证书,加密与解密只需要双方约定一个key就可以,无证书加解密的方式应用更广泛一些,python官方也有这方面的相关例子说明,地址是:https://pypi.python.org/pypi/pycrypto,主要用的是from Crypto.Cipher import AES这个模块,代码如下:

'''

/**

* AES加密字符串

*

* @param string data 加密的串

* @param string key 密钥(只能是16、24、32位)

* @param string iv 16位长度向量

* @param bool 编码格式(true:base64 / false:十六进制)

* @return string 加密后的结果

*/

'''

def encrypt_mode_cbc(data, key, iv = '3water.com!!', base64 = True):

lenth = len(data)

num = lenth % 16

data = data.ljust(lenth + 16 - num)

obj = AES.new(key, AES.MODE_CBC, iv)

result = obj.encrypt(data)

return result.encode('base64') if base64 is True else result.encode('hex')

encrypt = encrypt_mode_cbc('hello geekso', '3water.com!!')

print encrypt

'''

/**

* AES解密字符串

*

* @param string encrypted 待解密的串

* @param string key 密钥

* @param string iv 16位长度向量

* @param bool 编码(true:base64 / false:十六进制)

* @return string 解密后的结果 or bool

*/

'''

def decrypt_mode_cbc(encrypted, key, iv = '3water.com!!', base64 = True):

encrypted = encrypted.decode('base64') if base64 is True else encrypted.decode('hex')

if encrypted is not '':

obj = AES.new(key, AES.MODE_CBC, iv)

return obj.decrypt(encrypted)

else:

return False
print decrypt_mode_cbc(encrypt,'3water.com!!')

exit()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
python批量修改图片大小的方法
Jul 24 Python
Python爬虫动态ip代理防止被封的方法
Jul 07 Python
Python实现生成密码字典的方法示例
Sep 02 Python
python调用接口的4种方式代码实例
Nov 19 Python
基于python检查矩阵计算结果
May 21 Python
python 基于opencv 绘制图像轮廓
Dec 11 Python
python中操作文件的模块的方法总结
Feb 04 Python
python process模块的使用简介
May 14 Python
Python面向对象之内置函数相关知识总结
Jun 24 Python
深入理解Python 代码优化详解
Oct 27 #Python
简单的Python抓taobao图片爬虫
Oct 26 #Python
Python性能优化的20条建议
Oct 25 #Python
跟老齐学Python之网站的结构
Oct 24 #Python
跟老齐学Python之折腾一下目录
Oct 24 #Python
跟老齐学Python之私有函数和专有方法
Oct 24 #Python
跟老齐学Python之模块的加载
Oct 24 #Python
You might like
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
node.js中的path.sep方法使用说明
2014/12/08 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python numpy实现文件存取的示例代码
2019/05/26 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
postman传递当前时间戳实例详解
2019/09/14 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
毕业学生推荐信
2013/12/01 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
学校党员对照检查材料
2014/08/28 职场文书
四风自我剖析材料
2014/09/30 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
微信小程序实现聊天室功能
2021/06/14 Javascript
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
MySQL三种方式实现递归查询
2022/04/18 MySQL