#01
什么是 MD5?
MD5 由 Ronald Rivest 于 1991 年设计,是 MD4 的继任者。它将任意长度的输入文本(字符串、文件字节流等)压缩为固定 128 位的输出,通常表示为 32 个十六进制字符,例如 d41d8cd98f00b204e9800998ecf8427e(空字符串的 MD5)。
其核心运算过程是将输入按 512 位分组,每组进行四轮共 64 次非线性变换(涉及 F/G/H/I 四个非线性函数、32 位循环左移以及预设的 T[i] = floor(4294967296 * |sin(i)|) 常量)。对于开发者而言,理解这一点有助于解释为什么 MD5 速度极快,以及为什么它的碰撞攻击是可行的。
本工具支持 在线计算 MD5、切换大小写、并以 Hex/Base64 多种形式输出,满足从日志比对到配置一致性检查等多种场景。
#02
常见格式与应用场景
MD5 输出格式多样,以下是最常见的四种表达方式,本工具均已支持:
- 32 位小写 Hex(标准格式,用于 Git、文件校验等)
- 32 位大写 Hex(某些数据库或老系统偏好)
- 16 位小/大写(即 32 位截取中间 16 位,用于某些短哈希场景)
- Base64 表示(128 位 → 22 字符,便于嵌入 URL/配置)
典型应用场景包括:软件下载完整性校验(如 Linux 发行版 MD5SUMS 文件)、开发环境日志指纹、非安全用途哈希映射等。
#03
数据安全与隐私说明
本工具采用纯前端实现,所有 MD5 计算都在您的浏览器本地完成,不会向任何服务器发送输入内容或计算结果。您输入的字符串仅存在于当前页面内存中,页面关闭即被销毁。
关于 MD5 自身作为哈希算法的安全性:MD5 已不适合用于密码存储、数字签名或防篡改等密码学安全场景。自 2004 年以来已有多项碰撞攻击证明其抗碰撞性不足。请使用 SHA-256 或更高级别算法处理安全敏感场景。
如果您处理的是高敏感信息(例如数据库凭据、密码明文),建议在离线环境或打开本页面后断网使用,以获得更强的隐私保障。