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 Mysql自动备份脚本
Jul 14 Python
深入浅析python定时杀进程
Jun 06 Python
分享几道你可能遇到的python面试题
Jul 24 Python
python表格存取的方法
Mar 07 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
python迭代dict的key和value的方法
Jul 06 Python
Python整数对象实现原理详解
Jul 01 Python
Python如何实现动态数组
Nov 02 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
基于python实现操作git过程代码解析
Jul 27 Python
python文件与路径操作神器 pathlib
Apr 01 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 使用Callable Closure强制指定回调类型
2017/10/26 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
python中文乱码的解决方法
2013/11/04 Python
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
《夜晚的实验》教学反思
2014/02/19 职场文书
公司投资建议书
2014/05/16 职场文书
服务行业口号
2014/06/11 职场文书
社区活动策划方案
2014/08/21 职场文书
镇创先争优活动总结
2014/08/28 职场文书
体育教师个人工作总结
2015/02/09 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
MySQL自定义函数及触发器
2022/08/05 MySQL