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列表与元组详解实例
Nov 01 Python
python中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
Python栈类实例分析
Jun 15 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Python字符串拼接六种方法介绍
Dec 18 Python
SVM基本概念及Python实现代码
Dec 27 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
Python传递参数的多种方式(小结)
Sep 18 Python
Python threading.local代码实例及原理解析
Mar 16 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 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 set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
如何实现JS函数的重载
2006/09/22 Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
python学生管理系统代码实现
2020/04/05 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
深入学习python多线程与GIL
2019/08/26 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
团员的自我评价
2013/12/01 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
中学生班主任评语
2014/01/30 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
个人授权委托书范本
2014/09/14 职场文书
投资入股协议书
2016/03/22 职场文书
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS