python的hashlib提供了常见的摘要算法,如MD5, SHA1等等。
什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换成一个长度固定的数据串(通常用16进制的字符串表示)。
摘要算法就是通过摘要函数对任意长度的data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。
摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算data的摘要digest很容易,但是通过digest反推data却非常困难,而且,对原始数据做一个bit的修改,都会导致据算出的摘要完全不同。
2|0 2.如何使用hashilib模块。
使用hashilib模块一般分为4步:
(1)在python中引用hashlib模块。
(2)创建一个hash对象,使用hash算法命名的构造函数,或者通用构造函数。
(3)使用hash对象调用update()方法填充对象
(4)调用digest()或者hexdigest()方法来获取摘要(加密结果)
3|0 3.实例代码
import hashlib
s = “How to use md5 in python hashlib?”
md5 = hashlib.md5()#调用一个md5对象
#调用md5的update()方法,对参数进行加密,加密必须为bytes类型
md5.update(s.encode(“utf-8”))
print(md5.hexdigest())#打印加密结果