1.介绍
特点: 不可逆。单向加密,只能加密,不能解密。
定长输出。输入不变时,输出不会发生改变。
抗修改性。输入微小改变将引起结果的巨大变化。
强碰撞性。很难找到两段不同的数据,使他们的hash值相等,几乎不可能。
方法有:md5,sha1,sha224,sha256,sha512
2.用法
info = 'py_baby'
m = hashlib.md5(info.encode())
res_1 = m.hexdigest()
只能接受二进制数据,输入定长为32的字符串
res_2 = m.digest()
输出字节数据
对大文件使用:
md5 = hashlib.md5()
with open('filename', 'rb') as f:
for line in f:
md5.update(line)
res = md5.hexdigest()