反馈

MD5加密



    
MD5 已可被人为构造碰撞,不能用于安全校验或存密码,只适合做非安全用途的指纹。计算文件校验和请用 文件 Hash;需要安全哈希用 SHA;存密码用 bcrypt。 结果与 PHP md5()、Python hashlib.md5()、Java MessageDigest(UTF-8)一致。
浏览器本地计算,不上传。相关: 文件 Hash · SHA · CRC-32 · HMAC · 文字加解密

📖 工具说明

1. MD5 是什么

MD5(Message-Digest Algorithm 5)把任意长度的输入压缩成一个 128 位(16 字节) 的散列值,通常写成 32 个十六进制字符。特点是不可逆、雪崩效应(改一个比特结果全变)、算得快。

2. 这个工具

结果与 PHP md5()、Python hashlib.md5()、Java MessageDigest.getInstance("MD5")(按 UTF-8 编码输入)一致。全部在浏览器本地计算,不上传。

3. 安全性

MD5 已被攻破:能在很短时间里构造出两段不同内容却有相同 MD5 的数据(碰撞)。所以:

4. 常见问题(FAQ)

Q:MD5 能"解密"吗? A:不能。MD5 不可逆,没有"解密"。网上的"MD5 解密"是拿海量常见口令预先算好的 MD5 表来反查(彩虹表),只对弱口令有效。

Q:为什么中文的 MD5 和别人不一样? A:字符编码不同。本工具按 UTF-8。对方若用 GBK,同一个汉字的字节不同,MD5 自然不同。

Q:16 位和 32 位 MD5 是两种算法吗? A:不是。16 位就是 32 位结果里截取中间 16 个字符,信息量更少、碰撞更容易,能不用就不用。

Q:逐行模式会去掉行首尾空格吗? A:不会,逐行按原样计算每一行(不含换行符)。空行跳过。


MD5 的原理、结构、碰撞与替代方案详见:MD5 深度解析。相关:文件 Hash · SHA · HMAC。

📖 了解原理

📖 相关推荐