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中运算符使用时的优先级
May 14 Python
Python入门学习之字符串与比较运算符
Oct 12 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
python类中super()和__init__()的区别
Oct 18 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
python线程定时器Timer实现原理解析
Nov 30 Python
使用Django和Postgres进行全文搜索的实例代码
Feb 13 Python
Django实现celery定时任务过程解析
Apr 21 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 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 数据结构 算法 三元组 Triplet
2011/07/02 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
JavaScript URL参数读取改进版
2009/01/16 Javascript
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
jQuery 名称冲突的解决方法
2011/04/08 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python实现字符串逆序输出功能示例
2017/06/24 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Python单元测试实例详解
2018/05/25 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
会计毕业生自我鉴定
2013/11/04 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
团拜会主持词
2015/07/04 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
把77A收信机改造成收音机
2022/04/05 无线电