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

一、为什么我们需要引用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值,拿到加密字符串

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

2.2 sha1()加密算法

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

在这里插入图片描述

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

2.3 sha256()加密算法

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

在这里插入图片描述
比sha1更安全的算法是SHA256和SHA512,不过越安全的算法越慢,而且摘要长度更长。

猜你喜欢

转载自blog.csdn.net/qq_45662588/article/details/120547574
今日推荐