hashlib 提供了常见的摘要算法,如MD5,SHA1 等等。它是一个摘要算法,并不是真正意义上的加密算法。它的主要作用是为了防止数据被恶意修改
注意:目前MD5,SHA1等已被人破解,所以他并不是特别安全
MD5 : 生成一个固定 128 字节。通常用一个32位的16进制字符串表示
import hashlib
md5 = hashlib.md5() #创建一个对象 可以传参,相当于加盐
md5.update("how".encode("utf-8")) #传入需要加密的内容 注意:只能是字节
print(md5.hexdigest()) #输出加密内容
#结果:3bfa4bfb7b59a59f27c24ebdd89cd13c
#如果数据量过大 则用多个 update 将其拆分开。。因为md5是按照字节去加密,所以和你字符串是不是一个整体无关
md5.update("我是测试者".encode("utf-8"))
等同于
md5.update("我是".encode("utf-8"))
md5.update("测试者".encode("utf-8"))
SHA1 的使用方式等同于MD5的使用方式
区别: SHA1的结果是一个 160 字节,通常用一个 40位的16进制字符串来表示。相对而言,越长越安全