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中的对象拷贝示例 python引用传递
Jan 23 Python
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
Python对接六大主流数据库(只需三步)
Jul 31 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
pandas分组聚合详解
Apr 10 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 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
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
很酷的javascript loading效果代码
2008/06/18 Javascript
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
秋季运动会加油稿200字
2014/01/11 职场文书
函授生自我鉴定
2014/03/25 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
歼十出击观后感
2015/06/11 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
python playwright之元素定位示例详解
2022/07/23 Python