MD5 是一种哈希(散列)算法,把任意长度的数据计算成固定 128 位(16 字节)的摘要,通常写成 32 位十六进制字符串。下面重点说明主要用途。
MD5有什么作用
- 校验下载文件是否完整、未被篡改(对照官方公布的摘要)
- 数据去重、缓存键、文件指纹
- 数字签名和证书(只适用于安全的算法)
- HMAC 消息认证
- 老系统中的密码存储(已不推荐)
示例
输入:user@example.com
计算结果:b58996c504c5638798eb6b511e6f49af
说明:对 UTF-8 字节计算 MD5。
核心要点
- 输出固定 128 位,十六进制 32 个字符
- 空字符串的 MD5 是 d41d8cd98f00b204e9800998ecf8427e
- “abc”的 MD5 是 900150983cd24fb0d6963f7d28e17f72
- 哈希是单向的,不能从结果“解密”出原文
- 安全性:已不安全,只适合校验意外损坏,不能用于签名和密码存储
规则说明
- 输入是字节:同一段中文按 UTF-8 和 GBK 计算,结果不同
- 输出通常用小写十六进制表示,大小写不影响比较
- 也可以用 Base64 表示(16 字节编码为 24 个字符)
- 比较两个摘要时应使用常量时间比较函数,防止时序攻击
本站的MD5计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【MD5 能解密吗?】不能。MD5 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。
【MD5 是多少位?】128 位,即 16 字节,写成十六进制是 32 个字符。
【同一个文本为什么算出的 MD5 不一样?】通常是输入字节不同:字符集不同、末尾多了换行或空格、全角半角不同。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。