hashlib:Python中常用hash算法
前言
hashlib库定义了一个API来访问不同的密码散列算法。其底层由OpenSSL提供,所以OpenSSL库提供的所有算法都可以用,包括:
- MD5
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
当然,这上面列举的只是其支持的一部分。真正全部支持的种类读者可以用过下面代码打印出来,示例如下:
import hashlib
print(hashlib.algorithms_guaranteed)
print(hashlib.algorithms_available)
运行之后,效果如下:
algorithms_available:获取可以运行在python解释器中的hash算法名称的集合。
algorithms_guaranteed:获取保证在所有平台上此模块支持的hash算法名称的集合。
MD5
要为一个数据块计算MD5散列或摘要,首先要创建散列对象,然后增加数据,最后调用digest()或hexdigest()。示例如下:
import hashlib
str = 'mm123456_1102121'
h = hashlib.md5()
h.update(str.encode('UTF-8'))
print(h.digest())
print(h.hexdigest())
运行之后,效果如下:
digest:返回二进制数据字符串值
hexdigest:返回十六进制数据字符串值
SHA1
SHA1的使用方式与MD5一样,示例如下:
import hashlib
str = 'mm123456_1102121'
h = hashlib.sha1()
h.update(str.encode('UTF-8'))
print(h.digest())
print(h.hexdigest())
运行之后,效果如下:
其它加密算法使用方式与MD5与SHA1一摸一样,这里就不在赘述。
分类:
Python 每日一库
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!