视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python中的hashlib和base加密模块使用实例
2020-11-27 14:38:11 责编:小采
文档


看到好几位博主通过对模块的各个击破学习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」即可,不再举例。

base

这个模块提供的加密算法并不安全,但十分简单,有时候会用到。
代码示例:

代码如下:


import base

a = "Hello world!"
b = base.encodestring(a) #加密
c = base.decodestring(b) #解密

print a==c


python还有诸多的第三方模块提供更多的加密方式,以后学到的时候再说。

下载本文
显示全文
专题