实测:a 与「 a」(前面带空格)得到同一个摘要,说明首尾空格会先被去掉;「a b」中间的空格保留,另成一个值。
下面每一行都是在页面上输入左列内容、点「转换为MD5」后从结果框读出的。
| 输入 | MD5(32 位十六进制) |
|---|---|
| 单个字母 a | 0cc175b9c0f1b6a831c399e269772661 |
| abc | 900150983cd24fb0d6963f7d28e17f72 |
| 大写 A | 7fc56270e7a70fa81a5935b72eacbe29 |
| a 前面带一个空格 | 0cc175b9c0f1b6a831c399e269772661 |
| a 后面带一个空格 | 0cc175b9c0f1b6a831c399e269772661 |
| a 与 b 之间一个空格 | 0cc9cd4dd26c5137b675a0d819cb9ab0 |
| 帮计算 | 855b48aed3ef4ec9f3a15d27e4e2c10f |
| www.bang123.cn | caab4807b874d1542f8a65f9f235a756 |
a 与 abc 这两条与 RFC 1321 附录里的测试向量一致,可以拿来验证本工具算得对不对。
| 项目 | 实测行为 |
|---|---|
| 输出长度 | 固定 32 个十六进制字符(128 位) |
| 大小写 | 敏感:a 得 0cc175b9c0f1b6a831c399e269772661,A 得 7fc56270e7a70fa81a5935b72eacbe29 |
| 首尾空格 | 会先去掉再计算,所以「 a」「a 」与 a 同值 |
| 中间空格与换行 | 保留,参与计算 |
| 中文 | 按 UTF-8 编码计算,帮计算 得 855b48aed3ef4ec9f3a15d27e4e2c10f |
| 计算位置 | 浏览器本地用 CryptoJS 完成,点转换时没有任何网络请求 |
MD5 把任意长度的输入压成 128 位摘要,写成 32 个十六进制字符,常用于校验文件下载后有没有被改动、做去重指纹。它是单向散列而不是加密:不能从摘要还原原文,但同样的输入永远得到同样的输出。MD5 已被证明可以构造碰撞,不要再用于密码存储或安全签名——存密码请用 bcrypt、scrypt 或 argon2,需要更强的完整性校验请用 SHA-256 以上。本工具不上传输入,也不记录任何内容。