hashlib 库
hash 是一种算法,用来接收一系列数据,经过计算后得到一个hash值
hash值的三大特征:
1. 如果传入的数据一样,得到的hash值一样
2. 只要采用的hash算法固定,无论传多少内容hash值的长度是固定的
3. hash值不可逆,不能通过hash值倒推出内容
hash用途:
特征一和特征二: 效验文件是否完整,比较hash值是否一样
特征三:用于加密, 将密码===> hash值(hash值不可逆) (可以将密码按百分比拆开,加盐然后算hash值)
import hashlib
m=hashlib.md5() # 括号内也可以传内容
m.update('str1',encode('utf-8')) # 必须是bytes类型
m.update('str2',encode('utf-8')) # 内容可以分开放进去
print(m.hexdigest())
将文件加密:
import hashlib
with open('r.txt','rb')
m=hashlib.md5()
for line in f:
m.update(line)
print(m.hexdigest())
补充: 逐行打开文件,速度太慢,一般都选择抽样进行效验