Python 的 hashlib 提供了常见的摘要算法,如 MD5,SHA1 等等。
我们以常见的摘要算法 MD5 为例,计算出一个字符串的 MD5 值:
MD5 是最常见的摘要算法,速度很快,生成结果是固定的 128 bit 字节,通常用一个 32 位的 16 进制字符串表示。
- import hashlib
-
- md5 = hashlib.md5()
- md5.update('how to use md5 in python hashlib?')
- print md5.hexdigest()
-
计算结果如下
- d26a53750bc40b38b65a520292f69306
-
另一种常见的摘要算法是 SHA1,调用 SHA1 和调用 MD5 完全类似:
SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。
- import hashlib
- sha1 = hashlib.sha1()
- sha1.update('how to use sha1 in ')
- sha1.update('python hashlib?')
- print sha1.hexdigest()
-
比 SHA1 更安全的算法是 SHA256 和 SHA512,不过越安全的算法越慢,而且摘要长度更长。