hashlib 模块:
摘要算法
用法示例:
import hashlib
md5 = hashlib.md5()
md5.update("alex3714")
print(md5.hexdigest())
结果:
aee949757a2e698417463d47acac93df
sha = hashlib.sha1()
sha.update("alex3714")
print(sha.hexdigest())
结果:
8a003668a9c990f15148f9e4046e1410781533b6
对于相同的字符串使用同一个算法进行摘要,得到的值总是不变的
随着算法的复杂度增加,相对的空间成本和时间成本也随之增加
摘要算法能做什么
1.密码的密文存储
2.文件的一致性验证
# 对文件进行md5加密
1、
FILE_NAME = "一些内置方法.md"
md = hashlib.md5()
with open(FILE_NAME, "r") as f:
while True:
line = f.readline()
if line:
# print(line)
md.update(line)
else:
break
print(md.hexdigest())
执行结果:
687cbb8293a99b8a5049212502e77680
2、
with open(FILE_NAME, "r") as f:
line = f.read()
md.update(line)
print(md.hexdigest())
执行结果:
687cbb8293a99b8a5049212502e77680
第一段代码按行来读取,每次读取完进行加密
第二段代码整体来读取,最后进行整体加密
两次执行结果一样,说明分次加密和整体加密的效果是一样的且读取的数据一致。