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

yipeiwu_com7年前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绘制有趣的万圣节南瓜怪效果

利用Python绘制有趣的万圣节南瓜怪效果

关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻。在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All...

详解Django-channels 实现WebSocket实例

引入 先安装三个模块 pip install channels pip install channels_redis pip install pywin32 创建一个Dja...

Python中的测试模块unittest和doctest的使用教程

我要坦白一点。尽管我是一个应用相当广泛的公共域 Python 库的创造者,但在我的模块中引入的单元测试是非常不系统的。实际上,那些测试大部分 是包括在 gnosis.xml.pickle...

python单例模式原理与创建方法实例分析

本文实例讲述了python单例模式原理与创建方法。分享给大家供大家参考,具体如下: 1. 单例是什么 举个常见的单例模式例子,我们日常使用的电脑上都有一个回收站,在整个操作系统中,回收站...

Python3学习笔记之列表方法示例详解

前言 本文主要给大家介绍了关于Python3列表方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 1 使用[]或者list()创建列表 user =...