MD5 是一种哈希(散列)算法,把任意长度的数据计算成固定 128 位(16 字节)的摘要,通常写成 32 位十六进制字符串。下面重点说明空串、英文与中文示例。
MD5常见输入的结果
| 输入 | 计算结果 |
|---|---|
| 123问 | b3ca70fa998003b1a9f145e50bb41c27 |
| 中文 | a7bac2239fcdcb3a067903d8077c4a07 |
| 你好,世界 | dbefd3ada018615b35588a01e216ae6e |
| a+b=c | c6d223eafd71470302a8b78e6d137648 |
| https://www.123wen.cn/?q=测试 | 3e0f68fa7fcffeedf5f965d7610873b5 |
| <b>粗体</b> | b0335f51ad2b1c8d2a27f2c45988b9bd |
| I ♥ Unicode | 94fb783d2b4fdbfe1b0f4e5ceb4d84c2 |
常见报错
- 结果与官方不一致:文件下载不完整或被篡改,也可能比对的是另一种算法
- 命令行结果与在线工具不同:echo 带了换行,改用 echo -n
- Java 结果少了前导 0:用 BigInteger 转十六进制时没有补齐,应用 String.format("%032x")
- NoSuchAlgorithmException:算法名写错,Java 中应为 "MD5"
怎么选
需要安全性(签名、证书、完整性防篡改)选 SHA-256 或 SHA-3;只校验文件是否意外损坏,MD5 也够用且速度快;存储用户密码不要直接用任何这类哈希,应使用 bcrypt、scrypt 或 Argon2 并加盐。
MD5 输出 128 位,SHA-1 输出 160 位,SHA-256 输出 256 位。MD5 和 SHA-1 都已出现实际碰撞,不能用于安全场景;SHA-256 目前安全。哈希与加密不同:加密可以用密钥解密还原,哈希不可逆。哈希与 Base64 不同:Base64 可以还原,长度随输入变化。
本站的MD5计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【MD5 还安全吗?】已不安全,只适合校验意外损坏,不能用于签名和密码存储。
【空字符串的 MD5 是多少?】d41d8cd98f00b204e9800998ecf8427e。
【MD5 能解密吗?】不能。MD5 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。