hashlib提供的摘要算法md5、sha1、sha224、sha256、sha384、sha512、blake2b、blake2s、sha3_224、sha3_256、sha3_384、sha3_512、shake_128、shake_256。摘要算法通过摘要函数(单向函数)对任意长度的数据计算出固定长度的摘要,目的是为了验证原始数据是否被篡改。
from hashlib import md5,sha1
md51 = md5()
md51.update(b'123')
md51.update(b'456')
print(md51.hexdigest()) # e10adc3949ba59abbe56e057f20f883e 32位
md52 = md5()
md52.update(b'123456')
print(md52.hexdigest()) # e10adc3949ba59abbe56e057f20f883e
md53 = md5(b'this is salt') # md5加盐
md53.update(b'123456')
print(md53.hexdigest()) # b50fd265988673d1211b1712996d66a5
md54 = md5()
md54.update(b'this is salt') # md5加盐
md54.update(b'123456')
print(md54.hexdigest()) # b50fd265988673d1211b1712996d66a5
sha11 = sha1()
sha11.update(b'123')
sha11.update(b'456')
print(sha11.hexdigest()) # 7c4a8d09ca3762af61e59520943dc26494f8941b 40位
sha12 = sha1()
sha12.update(b'123456')
print(sha12.hexdigest()) # 7c4a8d09ca3762af61e59520943dc26494f8941b
sha13 = sha1(b'this is salt') # sha1加盐,this is salt这个是加的盐,验证时也需要加盐才能通过验证,加盐可以预防撞库破解
sha13.update(b'123456')
print(sha13.hexdigest()) # 9649222c5f4cc4cb6ed88aeda2ea5daa87c73a1d