python中的hashlib和base64加密模块使用实例


Posted in Python onSeptember 02, 2014

看到好几位博主通过对模块的各个击破学习python,我也效法一下,本篇说一下python中加密涉及到的模块。

hashlib

hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512(加密原理请参考此处),使用起来也很简单。

以md5加密为例,有两种方法:

一、 追加模式

代码示例:

 import hashlib #引入hashlib模块

 

 mm = hashlib.md5() #创建一个md5对象

 mm.update("Hello") #通过update方法加密文本

 mm.update(" world!") #追加,这两句相当于 mm.update("Hello world!")

 print mm.digest() #输出加密后的二进制数据

 print mm.hexdigest() #输出加密后的十六进制数据

二、 一句话

如果不需要追加,只用加密一段文本,可用这种形式,代码示例:

 import hashlib

 

 hashlib.new("md5","Hello world!").digest()

此外,md5等算法对象还提供了digest_size和block_size等属性,指示加密后文本的大小。

对于其他的加密算法,只要在代码中替换「md5」即可,不再举例。

base64

这个模块提供的加密算法并不安全,但十分简单,有时候会用到。
代码示例:

import base64
a = "Hello world!"

b = base64.encodestring(a) #加密

c = base64.decodestring(b) #解密
print a==c

python还有诸多的第三方模块提供更多的加密方式,以后学到的时候再说。
Python 相关文章推荐
Python抓取Discuz!用户名脚本代码
Dec 30 Python
微信跳一跳python代码实现
Jan 05 Python
机器学习之KNN算法原理及Python实现方法详解
Jul 09 Python
python进行TCP端口扫描的实现
Dec 21 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
Django 删除upload_to文件的步骤
Mar 30 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python多线程编程中的join函数使用心得
Sep 02 #Python
python中的函数用法入门教程
Sep 02 #Python
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 #Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 #Python
python批量同步web服务器代码核心程序
Sep 01 #Python
寻找网站后台地址的python脚本
Sep 01 #Python
python批量修改文件名的实现代码
Sep 01 #Python
You might like
360搜索引擎自动收录php改写方案
2018/04/28 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
jQuery滑动效果实现方法分析
2018/09/05 jQuery
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python中eval与int的区别浅析
2019/08/11 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python学生信息管理系统实现代码
2019/12/17 Python
英文版餐饮业求职信
2013/10/18 职场文书
个人思想理论学习的自我鉴定
2013/11/30 职场文书
委托书怎样写
2014/08/30 职场文书
车间主任岗位职责
2015/02/03 职场文书
工作态度怎么写
2015/06/25 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
Python基础详解之邮件处理
2021/04/28 Python
python中数组和列表的简单实例
2022/03/25 Python