Python hashlib库的使用|md5加密,sha1加密,sha256加密

发表时间:2019-12-18

一、为什么我们需要引用hashlib库?

  1. 安全安全安全!

  2. 任何允许用户登录的网站或app都会存储用户登录的用户名和口令。密码一般都不会以明文的方式进行存储,如果黑客登陆了你的数据库系统或者你的数据库泄露那估计公司CEO觉得天都要塌下来了。

二、hashlib库使用方法

Python里面的hashlib模块提供了很多加密的算法,这里介绍一下hashlib的简单使用事例,用hashlib的md5算法加密数据

2.1 md5()加密算法

import hashlib
hash = hashlib.md5()#创建了一个md5算法的对象(md5不能反解),即造出hash工厂
hash.update(bytes('password',encoding='utf-8'))#运送原材料喽,要对哪个字符串进行加密,就放这里
print(hash.hexdigest())#产出hash值,拿到加密字符串

Snipaste_2019-12-18_19-46-23.png

我们可以看到生成结果是一个32位(5f4dcc3b5aa765d61d8327deb882cf99)的16进制字符串,生成结果是固定的128 bit字节(需要注意的是加密是固定的,就是关系是一一对应的,是存在缺陷的,可以被对撞出来,特别是一些使用123456666类作为密码的用户)

2.2 sha1()加密算法

hash2=hashlib.sha1()#sha1算法,hashlib很多加密算法
hash2.update(bytes('password',encoding='utf-8'))
print(hash2.hexdigest())

Snipaste_2019-12-18_19-47-42.png

sha1()加密算法的结果是160 bit字节,通常用一个40位的16进制字符串表示。

2.3 sha256()加密算法

hash3=hashlib.sha256()#不同算法,hashlib很多加密算法
hash3.update(bytes('password',encoding='utf-8'))
print(hash3.hexdigest())

Snipaste_2019-12-18_19-48-54.png

比sha1更安全的算法是SHA256和SHA512,不过越安全的算法越慢,而且摘要长度更长。

微配音

文章来源互联网,尊重作者原创,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890


Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free