摘要算法:hashlib的使用

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

第一段代码按行来读取,每次读取完进行加密
第二段代码整体来读取,最后进行整体加密

两次执行结果一样,说明分次加密和整体加密的效果是一样的且读取的数据一致。

你可能感兴趣的:(摘要算法:hashlib的使用)