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爬取APP下载链接的实现方法
Sep 30 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
Linux下多个Python版本安装教程
Aug 15 Python
Python实现的IP端口扫描工具类示例
Feb 15 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
Jul 16 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python实现一个点绕另一个点旋转后的坐标
Dec 04 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
解决numpy数组互换两行及赋值的问题
Apr 17 Python
python中super()函数的理解与基本使用
Aug 30 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
PHP与SQL注入攻击[一]
2007/04/17 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
node.js超时timeout详解
2014/11/26 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
js中日期的加减法
2015/05/06 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
基于node实现websocket协议
2016/04/25 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
python 调用win32pai 操作cmd的方法
2017/05/28 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
酒吧员工的岗位职责
2013/11/26 职场文书
护士自我介绍信
2014/01/13 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
信访工作汇报材料
2014/10/27 职场文书