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
推荐阅读
- Python包管理 pip教程 | 解决用pip更新pip失败 #yyds干货盘点#
- #yyds干货盘点# 盘点Python中4种读取json文件和提取json文件内容的方法
- ccxt|关于ccxt的介绍
- Python基础之- Numpy 的 random 函数简介
- word文档样式批量处理,久违了
- python学习|python学习-2-函数的默认参数,可变参数,关键字参数
- Python 可以满足你任何 API 使用需求
- 机器学习|【机器学习】python实现吴恩达机器学习作业合集(含数据集)
- python|为什么自学Python学着学着就放弃了()