MD5 摘要
纯本地计算 MD5 与 HMAC-MD5 摘要,支持中文与任意密钥;校验文件指纹、对接老接口签名时常用。
>_ 使用指南 · GUIDE
纯本地计算文本的 MD5 与 HMAC-MD5 摘要:普通 MD5 直接生成;HMAC 模式输入密钥,生成带密钥的签名值——对接一些老系统的接口签名(如支付回调验签、开放平台鉴权)时会遇到。
支持中文与任意字符(按 UTF-8 处理),结果以 32 位十六进制输出,一键复制。整个计算在浏览器本地完成,密码、密钥不经过网络。再强调一次安全边界:MD5 已不适用于安全敏感的新场景,它在这里服务于存量系统对接与校验类需求。
>_ 常见问题 · FAQ
Q1 · MD5 能解密吗?
不能。MD5 是单向哈希,原理上不可逆。所谓「MD5 解密网站」只是拿海量常见字符串的哈希做查询(彩虹表),简单密码能「查」到,复杂密码查不到——这恰好说明被查出来的是弱密码,而不是 MD5 被破解了。
Q2 · 「32 位 MD5」是什么?还有 16 位的吗?
MD5 输出固定 128 位,十六进制表示就是 32 个字符。所谓「16 位 MD5」只是取 32 位串的中间 16 个字符(第 9–24 位)的截断写法,一些老系统这么用。两种表示对应同一摘要,校验时注意对方要的是哪种口径。
Q3 · 用 MD5 存用户密码安全吗?
不安全,现代标准已弃用。原因:计算太快(GPU 每秒可算上百亿次),简单密码极易被彩虹表/暴力破解破解。正确做法是 bcrypt/scrypt/argon2 这类慢哈希 + 加盐算法。如果维护老系统被迫兼容 MD5,至少加盐,并规划迁移。
Q4 · HMAC-MD5 和普通 MD5 有什么区别?
普通 MD5 任何人都能对任意内容计算;HMAC 是带密钥的哈希:不知道密钥就无法伪造签名。接口鉴权用 HMAC——双方共享密钥,请求方对参数算签名、服务端用同样密钥验证。即便如此,新系统仍建议选 HMAC-SHA256,HMAC-MD5 只用于对接老接口。
Q5 · 怎么验证下载文件的 MD5?
本工具面向文本;整个文件用配套的「文件哈希校验」工具——拖入文件本地计算,与发布方公布的 MD5/SHA 值比对。注意 MD5 已有构造碰撞的公开方法,安全敏感的文件校验(如安装包)优先看 SHA-256。