字节的指纹,不是可读的内容摘要
MD5 是 Message-Digest Algorithm 5 的缩写,将字节输入映射成固定 128 位结果。一个十六进制字符表示 4 位,所以完整结果通常有 32 个字符。输出长度不随文件变长,也不包含可逆恢复原文的编码。
文档里看见的文字,不一定是保存文件的全部字节。文件可能带有头部、图片、元数据或字节顺序标记。要标识这个实际文件,应计算原始字节;要测试一段字符串,则需先确定字符编码。本工具使用 UTF-8,不自动去空格或改变换行。
重现一个小样本
输入 abc,不带引号或结尾换行。MD5 应为:
900150983cd24fb0d6963f7d28e17f72
随后加入一个空格再生成,结果改变是正常现象。把编辑器清空后主动点击生成,会计算空字符串,MD5 为 d41d8cd98f00b204e9800998ecf8427e。页面初始等待状态不代表已经算过空串;这个区别能避免把“没操作”误认成“输入为空的结果”。
确定性不代表绝对唯一
相同字节总会得到相同摘要,但固定 128 位输出无法唯一对应所有可能的输入,不同输入可能碰撞。MD5 还存在实际碰撞攻击,因此不应支持现代数字签名,也不能用来承诺内容无法被恶意改变。
当参考值合适时,匹配结果可以帮助排查意外变化,但不会证明文件无害、发布者真实,或参考值来自安全渠道。应把来源信任与数值相等这两个判断分开,不能因界面提示匹配就忽略下载来源。
哈希、加密与猜测
加密的设计目标是让持有密钥的人恢复原文,MD5 并不是这种可逆操作。字典工具可以尝试候选输入并寻找熟悉结果,但这不叫“MD5 解密”。本网站不提供密码破解、字典查询或明文恢复服务。
快速且不加盐的 MD5 也不是安全密码存储设计。不要为了看摘要而输入真实账户密码或其他敏感信息。HMAC 面向带共享密钥的消息认证测试,同样不是加密,不会隐藏消息内容。
保存完整结果
十六进制字母大小写表示相同字节;内部空格、丢失的前导零或少掉的一段尾部,都会影响核对。下载记录或向他人发送校验值时,应同时保留算法名称和完整结果,不能只发一张截断截图。