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实现同时给多个变量赋值的方法
Apr 30 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
Python使用re模块正则提取字符串中括号内的内容示例
Jun 01 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
pygame实现五子棋游戏
Oct 29 Python
python set集合使用方法解析
Nov 05 Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
python中doctest库实例用法
Dec 31 Python
python tkinter Entry控件的焦点移动操作
May 22 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获取网络上文件
2006/10/09 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php数组指针操作详解
2017/02/14 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
Js sort排序使用方法
2011/10/17 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
python随机生成库faker库api实例详解
2019/11/28 Python
教师旷工检讨书
2014/01/18 职场文书
企业文化理念标语
2014/06/10 职场文书
党员个人公开承诺书
2014/08/29 职场文书
晚会闭幕词
2015/01/28 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
债务纠纷代理词
2015/05/25 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
运动会班级前导词
2015/07/20 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL