首先讲 digest 这个词,小时候读的《读者文摘》叫 Readers Digest
digest 作动词是消化、吸收的意思,名词是文摘、摘要、精华的意思。理解一下,只有消化吸收了才能总结归纳出摘要。
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
摘要算法又称哈希算法、散列算法。它通过一个函数f,把任意长度的数据data(任意长度的文章)转换为一个长度固定的摘要(digest)数据串(通常用16进制的字符串表示)。
f(data)=digest
# md5 (words)
>>> import hashlib
>>> words="hello world"
>>> hashlib.md5(words.encode("utf-8")).hexdigest()
>>> '5d41402abc4b2a76b9719d911017c592'
# sha1 (data)
>>> data=np.array([1,2,3])
>>> hashlib.sha1(data).hexdigest()
>>> 'e429cca3f703a39cc5954a6572fec9086135b34e'
m=hashlib.md5()
m.update(a); m.update(b);
is equivalent to m.update(a+b).