摘要:免费的 MD5 哈希生成工具:文本/文件本地计算,Hex 与 Base64 输出,可同屏对照 SHA-1/256/512。勿用于密码或签名场景。
本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。
下一步
使用指南
MD5 是 1991 年诞生的 128 位哈希,默认输出 32 个十六进制字符,也可切到 Base64。它在安全领域已经退役(碰撞可被构造),但在非对抗场景——去重、缓存键、快速比对文件是否相同——依然好用。支持文本 / 文件输入,以及 MD5 与 SHA-1/256/512 同屏对照,全部本地计算。
1. 文本、文件与输出格式
- 文本:粘贴即算,适合对比两段配置或日志是否完全一致。
- 文件:拖入上传区,本地读 ArrayBuffer 计算哈希,文件本身不上传。
- 输出格式选 Hex(命令行 / checksum 文件常见)或 Base64(JSON、部分 API);两者是同一摘要的两种编码。
- 复制哈希值与源头逐位对比;和 Linux md5sum 比时只取第一个字段。
2. 多算法对照怎么用
- 显示模式选「MD5 + SHA 对照」,同一输入并列出 MD5 / SHA-1 / SHA-256 / SHA-512。
- 官方只公布了 SHA-256 时,直接看对照行,不必再开另一个工具。
- 只想要 MD5 时切回「仅 MD5」,界面更干净。
- 需要带密钥的完整性校验请改用 HMAC 生成器,而不是裸哈希。
3. MD5 还能用在哪、不能用在哪
能用:判断两个大文件是否相同(先比 MD5 再比内容)、构建缓存键、数据变更检测。不能用:密码存储(太快的哈希都不可用,选 bcrypt)、数字签名与安全校验(2004 年起碰撞攻击已实用化)、下载来源不可信时的完整性验证。页顶警告文案就是这条边界。需要抗碰撞时请用 SHA-256 或哈希校验器。
4. 算出的哈希对不上?
- 文本哈希不一致,九成是看不见的字符:尾部换行、全角空格、BOM。清空重粘比肉眼检查快。
- 文件哈希不一致,先确认文件在传输中没被改动(FTP 文本模式会改换行符)。
- 你拿 Base64 去对 Hex 官方值——编码不同必然对不上,先统一格式。
- 和 Linux md5sum 对比时注意:输出是「哈希 + 两个空格 + 文件名」,对比的是第一个字段。
5. 一分钟看懂 MD5 的内部结构
MD5 把任意输入切成 512 位(64 字节)分组,每组经 64 轮混合运算后压缩进一个 128 位的内部状态,最后输出状态的十六进制表示——这就是为什么不管输入多大,输出恒为 32 个十六进制字符。它的致命弱点在压缩函数结构:Dobbertin 与王小云团队先后证明可以构造碰撞(两组不同输入得到相同 MD5),而 Fast Collisions 级的攻击在普通 CPU 上几秒内就能产出一对。结论很明确:任何依赖「不同内容必有不同的 MD5」的假设都不成立。
6. MD5 今天还能正当使用的场景
- 非对抗性去重指纹:自己系统内部判断「文件是否重复上传」,无攻击者伪造碰撞的动机,MD5 速度优势仍然有效。
- 缓存键与 ETag:内容寻址的缓存失效判断,同理只要求无碰撞概率极低而非抗伪造。
- 快速校验和:校验传输比特错误(网络抖动、截断),此时完整性而非安全性是目标。
- 划清边界:密码存储、证书签名、文件完整性对抗校验、API 签名——这四类一律用 SHA-256 起步,密码另加 Argon2/bcrypt。
常见问题
不收费、不用注册、不限次数。文本与文件都在浏览器里就地计算——MD5 由 spark-md5 完成,文件只被读进内存,内容不发送到任何服务器。
默认 Hex(32 个十六进制字符),可切到 Base64——两者是同一份摘要的不同编码。显示模式选「MD5 + SHA 对照」会在同屏列出 MD5 / SHA-1 / SHA-256 / SHA-512,官方只给 SHA-256 时不必再开别的工具;想清爽就切回「仅 MD5」。
按顺序查:先怀疑看不见的字符——尾部换行、全角空格、BOM 都会让结果完全不同,清空重粘比肉眼检查快;再统一编码,拿 Base64 去对 Hex 官方值必然对不上;和 Linux md5sum 比对时只取输出的第一个字段(格式是「哈希 + 两个空格 + 文件名」);文件哈希不符还要考虑传输中被改动,FTP 文本模式会改换行符。
有,前提是无攻击者的场景:系统内部判断文件是否重复上传、构建缓存键与 ETag、校验网络传输的比特错误(截断、抖动)——这些只要求碰撞概率极低,不要求抗伪造,MD5 的速度优势仍然有效。
密码存储、数字签名与证书、来源不可信的下载校验、API 签名——这四类一律从 SHA-256 起步(碰撞自 2004 年起已可被构造,普通 CPU 几秒就能产出一对);存密码另用 bcrypt 或 Argon2 这类慢哈希,带密钥的完整性校验用 HMAC。