摘要算法简介
Python的hashlib提供了常见的摘要算法,如MD5、SHA1等等。
摘要算法又称哈希算法、散列算法,它通过一个函数,把任意长度的数据转换为一个长度固定的数据串,通常用16进制的字符串表示。
摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算
f(data)
很容易,但通过digest
反推data
却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。
MD5
MD5消息摘要算法(Message Digest Algorithm),一种被广泛使用的密码散列函数,可以产生一个128位(16字节)的散列值(hash value)。
使用方法
认识hash.update()的作用:如果数据量很大,可以分块多次调用update()
,最后计算的结果是一样的
# 示例一
1>>> import hashlib
2>>> md5 = hashlib.md5()
3>>> md5.update('123'.encode())
4>>> print(md5.hexdigest())
202cb962ac59075b964b07152d234b70
5>>> md5.update('123'.encode())
6>>> print(