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常用的日期时间处理方法示例
Feb 08 Python
Python中Random和Math模块学习笔记
May 18 Python
python 实时遍历日志文件
Apr 12 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
Python内置函数 next的具体使用方法
Nov 24 Python
Python中Threading用法详解
Dec 27 Python
Python 旋转打印各种矩形的方法
Jul 09 Python
Python列表list操作相关知识小结
Jan 29 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
浅谈Python3中print函数的换行
Aug 05 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
Python实现拼音转换
Jun 07 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
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
再论Javascript的类继承
2011/03/05 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
结构和类有什么异同
2012/07/16 面试题
社区综治宣传月活动总结
2014/07/02 职场文书
商场促销活动策划方案
2014/08/18 职场文书
介绍长城的导游词
2015/01/30 职场文书
家长对孩子的寄语
2015/02/26 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android