hashlib模块

hashlib
hash是什么?
是一种算法
用于将任意长度的数据,压缩映射到一段固定长度的字符 (提取特征)

hash的特点:
1.输入数据不同,得到的hash值有可能相同
2.不能通过hash值来得到输入的值
3.如果算法相同,无论输入的数据长度是多少,得到的hash值长度相同

常用的MD5就是一种hash算法    
常用的提升安全性的手段 就是  加盐
就是把你加密前的数据做一些改动 例如 把顺序反过来
import hashlib
m = hashlib.md5()
m.update(b'123')
m.hexdigest()
'202cb962ac59075b964b07152d234b70'

# 或者可以这样
hashlib.md5(b'123').hexdigest()
'202cb962ac59075b964b07152d234b70'

# 也可以使用hash.new()这个一般方法
 hashlib.new('md5', b'123').hexdigest()
'202cb962ac59075b964b07152d234b70'

中文:
import hashlib
md = hashlib.md5()
md.update("hello你这么牛逼吗 你破解我试试? DSB".encode("utf-8"))
print(md.hexdigest())
# 破解MD5可以尝试撞库   原理: 有一个数据库 里面存放了常见的明文和密文的对应关系

# 加密实际上能做的就是让黑客的的破解成本大于他的利润
for i in pwd_dic:
    if pwd_dic[i] == "5d41402abc4b2a76b9719d911017c592":
print(i)

原文地址:https://www.cnblogs.com/liu--huan/p/9471390.html