MD5 和 SHA、SHA-256 有什么区别?
MD5 产生 128 位(16 字节)哈希,SHA-1 产生 160 位,SHA-256 产生 256 位。位数越高,理论上抗碰撞能力越强。MD5 和 SHA-1 均已被攻破,不适用于安全场景;SHA-256 目前仍是主流安全哈希算法。
支持任意文件,最大 2 MB
MD5 产生 128 位(16 字节)哈希,SHA-1 产生 160 位,SHA-256 产生 256 位。位数越高,理论上抗碰撞能力越强。MD5 和 SHA-1 均已被攻破,不适用于安全场景;SHA-256 目前仍是主流安全哈希算法。
MD5 是单向哈希函数,无法从哈希值反推原始输入。网上所谓的"MD5 解密"其实是利用提前计算好的海量常见密码彩虹表(Rainbow Table)进行匹配,并非真正解密。
浏览器处理大文件会占用大量内存,且 MD5 通常用于小文件或字符串的完整性校验。对于大文件建议使用 SHA-256 或其他更现代的算法进行分段计算。
32 位 MD5 是完整的 MD5 哈希值(128 位十六进制表示)。16 位 MD5 是 32 位的中间 16 位(从第 8 位到第 24 位)。16 位不是独立的哈希算法,只是 32 位的子串。