MD5 摘要

计算 UTF-8 文本的 32 位 MD5 摘要;不可解密,不用于密码存储或安全签名。

这个工具能做什么

MD5 把任意长度的输入算成一个 128 位(32 个十六进制字符)的摘要。同样的输入永远得到同样的输出,输入改一个标点,输出就会面目全非。本工具对中文等多字节字符按 UTF-8 处理,计算在浏览器本地完成,可以用来计算任何不方便上传的内容的摘要。

典型使用场景

最常见的用途是文件完整性校验:下载镜像或安装包后算一遍 MD5,和官网公布的值对比,一致说明传输没出错。开发者还用 MD5 做缓存指纹(文件内容变了摘要就变,文件名带摘要可强制刷新 CDN)、数据去重,以及 Gravatar 头像(邮箱地址的 MD5 就是头像 ID)。

安全警告:不要用它保护密码

MD5 在密码学上已经被攻破:研究者可以构造出两个不同内容产生相同摘要的输入(碰撞攻击),而且计算速度极快,普通显卡每秒能猜数十亿次,暴力破解成本低。因此 MD5 绝对不能用于存储用户密码、签名防伪等安全场景。密码存储请使用 bcrypt、scrypt 或 Argon2 这类带盐慢哈希;安全完整性校验请使用 SHA-256 及以上。MD5 现在只适合“防手滑、不防坏人”的非安全校验。