python中的hashlib和base64加密模块使用实例

yipeiwu_com5年前Python基础

看到好几位博主通过对模块的各个击破学习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使用requests提交HTTP表单的方法

Python的requests库, 其口号是HTTP for humans,堪称最好用的HTTP库。 使用requests库,可以使用数行代码实现自动化的http操作。以http pos...

有关wxpython pyqt内存占用问题分析

一直觉得wxpython占用内存比较多,在工作中写的一些小程序应用,一对比其它的小程序,发现内存相差确实有点大。 测试了下QT框架 复制代码 代码如下:import sys,timefr...

分享6个隐藏的python功能

小编在以前给大家介绍过python一些很少用到的功能,这次我们给大家分享了6个隐藏的python功能,学习下。 在python的设计哲学中,有这么一条内容:“Simple is bett...

Python数据类型详解(三)元祖:tuple

一.基本数据类型   整数:int   字符串:str(注:\t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()...

python使用Qt界面以及逻辑实现方法

python使用Qt界面以及逻辑实现方法

用过Qt的朋友 特别是QtCreator的习惯在界面UI上面对应的CPP中写代码。但是在PyQt中不是这样的。pyQt只是个界面,只会生成界面即UI,就算是一个按钮也需要在python只...