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实现获取序列中最小的几个元素
Sep 25 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
python opencv之SURF算法示例
Feb 24 Python
浅谈Python中的私有变量
Feb 28 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
python Kmeans算法原理深入解析
Aug 23 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
Python网页解析器使用实例详解
May 30 Python
python中plt.imshow与cv2.imshow显示颜色问题
Jul 16 Python
基于python爬取链家二手房信息代码示例
Oct 21 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
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
详解JavaScript RegExp对象
2017/02/04 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
python实现apahce网站日志分析示例
2014/04/02 Python
Python面向对象特殊成员
2017/04/24 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
Python如何实现定时器功能
2020/05/28 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
Python进行特征提取的示例代码
2020/10/15 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
大学生大二自我鉴定
2013/10/28 职场文书
工作疏忽检讨书
2014/01/25 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
医院护士工作检讨书
2014/10/26 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书