MD5 加密

计算文本的 32 位 MD5,可批量与大小写切换

MD5 已不安全:它还能用在哪里,绝对不能用在哪里

MD5 是什么

MD5 把任意长度的输入映射成固定的 128 位(16 字节),通常写成 32 个十六进制字符。设计目标是快、雪崩效应好(输入改一位,输出面目全非)、分布均匀。

它被广泛用于文件校验、缓存键生成、去重、以及(历史上)密码存储。今天它的定位需要严格区分:作为非对抗性的完整性校验它是有效的,作为任何安全用途它已经失效。

MD5 为什么已经被攻破

结论:任何对手可以在你之后提交数据的场景,MD5 都不能用。这包括证书、代码签名、软件分发校验(有攻击者能替换文件时)、数字签名、协议认证。

MD5 仍然合理的使用场景

绝对不能用的地方

和同类算法怎么选

算法输出长度安全性用在哪
MD5128 位 / 32 字符已破(碰撞可行)仅非对抗性校验、缓存键
SHA-1160 位 / 40 字符已破(SHAttered 2017)仅历史兼容,别用在新设计里
SHA-256256 位 / 64 字符目前安全通用首选
SHA-512512 位 / 128 字符目前安全需要更长输出时
bcrypt / Argon2可变专为抗暴力破解设计密码存储

还有一点常被忽略:哈希不是加密。哈希不可逆,不提供保密性。把敏感数据做 MD5 就以为"脱敏"了是错的——对于身份证号、手机号这类低熵数据,穷举空间很小,一张预计算表就能反查。

本工具在浏览器本地计算,输入内容不会离开你的设备。同时支持大写和小写十六进制输出。

常见问题

可以解密 MD5 吗?

不能。MD5 是单向散列,无法从结果反推原文。网上所谓"MD5 解密"其实是查彩虹表比对,只能命中常见弱口令。

本站用的什么实现?

页面内自带的纯 JavaScript 实现,输入内容不离开浏览器。