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实现进程间通信简单实例
Jul 23 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
pytorch常见的Tensor类型详解
Jan 15 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
python中常用的数据结构介绍
Jan 12 Python
Python实现简单的俄罗斯方块游戏
Sep 25 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
php遍历目录viewDir函数
2009/12/15 PHP
PHP类的封装与继承详解
2015/09/29 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python hook监听事件详解
2018/10/25 Python
解决Django连接db遇到的问题
2019/08/29 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
仓库组长岗位职责
2014/01/29 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
防灾减灾活动总结
2014/08/30 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
法律意见书范文
2015/05/20 职场文书
小时代观后感
2015/06/10 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python