MD5 在线哈希与校验工具,覆盖三种用法:
所有计算都在浏览器本机完成,文本内容与文件都不会上传到服务器。
MD5(Message Digest Algorithm 5)由 Ronald L. Rivest 于 1991 年设计,1992 年发布为 RFC 1321,用于把任意长度的输入压缩成固定的 128 位摘要。
| 项目 | 说明 |
|---|---|
| 输出长度 | 128 位 = 16 字节 = 32 位十六进制 |
| 分组长度 | 512 位 |
| 设计者 | Ronald L. Rivest(MIT) |
| 标准文档 | RFC 1321 |
| 是否可逆 | 不可逆,无法从摘要还原原文 |
| 安全性 | 已被实际攻破,不可用于安全场景 |
半 MD5(16 位短格式) 指的是取 32 位十六进制中的第 9—24 位,也就是 16 个字符。它只是截断,没有任何额外强度,碰撞概率远高于完整 MD5,仅适合做展示用的短标识。本工具在结果区单独列出了这一项,方便与旧系统对齐。
1996 年就有人指出 MD5 的设计缺陷;2004 年王小云团队给出了可实用化的碰撞构造方法;2008 年研究人员用普通笔记本集群伪造出带有合法 MD5 签名的 CA 证书。也就是说:
| 格式 | 说明 | 典型用途 |
|---|---|---|
| 小写十六进制 | 默认输出,32 个字符 | 最常见,多数校验网站与脚本使用 |
| 大写十六进制 | 32 个大写字符 | 部分旧工具、Windows 自带 certutil 输出 |
| Base64 | 16 字节摘要的 Base64,24 个字符含填充 | 部分 API、Content-MD5 请求头(HTTP 规范要求 Base64) |
| 分段(每 8 位) | 便于人工核对的长串分组 | 抄写、比对时降低看错概率 |
| 16 位(半 MD5) | 摘要的第 9—24 位十六进制 | 旧论坛、旧程序的短标识 |
HTTP 协议里的 Content-MD5 请求头要求的是 Base64 形式的原始 16 字节摘要,而不是十六进制字符串,这是很常见的踩坑点。本工具直接给出 Base64 行,可以省去换算。
计算文件 MD5 时浏览器卡住了怎么办?
MD5 和 SHA-256 该选哪个?
HTTP 的 Content-MD5 请求头该填什么?
校验比对时需要注意什么?
MD5 是加密算法吗?能解密吗?
为什么同一个文本算出来的 MD5 和别人不一样?
多大的文件可以计算?
文件不会上传到服务器吧?
MD5 的「16 位」和「32 位」有什么区别?
为什么说 MD5 不能用来存密码?
MD5 还能用吗?安全吗?
MD5 是什么?