python|python 摘要算法模块_Python常用模块之hashlib:md5和SHA1加密

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等,摘要算法又称哈希算法、散列算法,它通过一个函数,把任意长度的数据转换为一个长度固定的数据串,通常用16进制的字符串表示,目的是为了发现原始数据是否被人篡改过。
一、MD5加密
MD5是比较常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。
我们以常见的摘要算法MD5为例,计算出一个字符串的MD5值:import hashlib
md5 = hashlib.md5() #调用md5算法
md5.update('alex'.encode("utf-8")) #对字符串"alex"加密
print(md5.hexdigest())
计算结果:
534b44a19bf18d20b71ecc4eb77c572f
如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的:import hashlib
md5 = hashlib.md5()
md5.update('how to use md5 in '.encode("utf-8"))
md5.update('python hashlib?'.encode("utf-8"))
print(md5.hexdigest())
计算结果:
d26a53750bc40b38b65a520292f69306
二、 SHA1加密
SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。import hashlib
sha1 = hashlib.sha1()
sha1.update('how to use sha1 in '.encode("utf-8"))
sha1.update('python hashlib?'.encode("utf-8"))
print(sha1.hexdigest())
计算结果:
【python|python 摘要算法模块_Python常用模块之hashlib:md5和SHA1加密】2c76b57293ce30acef38d98f6046927161b46a44

    推荐阅读