哈希值生成器

#️⃣ Hash Value Generator

📐 工作原理与说明
纯前端 MD5:填充阶段按 消息长度 + 8 向上取整到 64 的倍数再加一组,共 (组数 + 1) × 16 个 32 位字,末尾补 0x80,倒数第二字写 长度 << 3、末字写 长度 >>> 29(即比特长度的低位与高位)。主循环四个轮函数 F = (x & y) | (~x & z)、G = (x & z) | (y & ~z)、H = x ^ y ^ z、I = y ^ (x | ~z),每步 a = 循环左移(a + 轮函数(b,c,d) + 消息字 + 常量, s) + b;循环左移 = (值 << s) | (值 >>> (32 − s)),模 2³² 加法用高低位拆分后按进位异或 0x80000000 / 0x40000000 / 0xC0000000 实现。最终按字节转成十六进制,勾选大写时转大写
对输入计算固定长度的消息摘要(哈希),用于校验完整性。
  • 算法:MD5(128 bit)、SHA-1(160 bit)、SHA-256 / SHA-512,把任意长度输入映射为固定长度摘要。
  • 性质:确定性(同输入必同输出)、雪崩效应(输入微改则输出大幅变化)、设计上抗碰撞。
  • 安全:MD5 与 SHA-1 已被实际攻破,禁止用于口令与签名;口令应加盐并用 bcrypt/scrypt/Argon2。
  • 用途:非加密场景(文件校验和、去重)仍可使用,但需知晓碰撞风险。

Compute MD5, SHA-1, SHA-256 hashes locally.

Formula & Standard References

Item Formula / Note Source / Standard
Digest length MD5 128, SHA-1 160, SHA-256 256 bits FIPS 180-4 / RFC 1321
Input encoding fix the input encoding to UTF-8 for reproducible hashes RFC 3629
Security guidance use bcrypt, scrypt or Argon2 for passwords NIST 800-63B
📌 算法说明

📚 深度解析:哈希值生成器

💡 常见使用场景

SHA256 "abc"
`abc` 的 SHA-256 = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。

❓ 常见问题(FAQ)

哈希能还原原文吗?
不能,哈希单向;且 MD5/SHA1 已不适合校验安全性,仅用于完整性。
MD5 还能用吗?
安全场景不能用。MD5 已被证实可构造碰撞(两个不同文件得到同一摘要),不能用于签名、口令或防篡改校验;但在非对抗场景(如检测传输误码、做缓存键)仍可用。新项目应统一用 SHA-256,口令存储则必须用 bcrypt/scrypt/Argon2 这类慢哈希。