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实现探测socket和web服务示例
Mar 28 Python
总结Python中逻辑运算符的使用
May 13 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
python爬虫 execjs安装配置及使用
Jul 30 Python
详解python内置常用高阶函数(列出了5个常用的)
Feb 21 Python
django 数据库返回queryset实现封装为字典
May 19 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
python如何提升爬虫效率
Sep 27 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
Python 时间处理datetime实例
2008/09/06 Python
为什么Python中没有"a++"这种写法
2018/11/27 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
python os.rename实例用法详解
2020/12/06 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
高中物理教学反思
2014/02/08 职场文书
创建文明学校实施方案
2014/03/11 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
Python如何把不同类型数据的json序列化
2021/04/30 Python
Go语言应该什么情况使用指针
2021/07/25 Golang