哈希生成器
从任意文本计算 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。全部在浏览器中运行 — 输入不会发往任何地方。
适用于校验文件或消息的 checksum、比对 payload 指纹,以及从文本派生确定性 ID。
哈希
MD5
MD5 hash will appear here.
SHA-1
SHA-1 hash will appear here.
SHA-256
SHA-256 hash will appear here.
SHA-384
SHA-384 hash will appear here.
SHA-512
SHA-512 hash will appear here.
何时使用哪种
- SHA-256 — the default choice for most checksums, content fingerprints and digital signatures today.
- SHA-384 / SHA-512 — same family, larger output. Common in JWT (HS384/HS512) and some PKI contexts.
- SHA-1 — legacy. Still used for git object IDs and a few protocols, but not safe for collision-resistant signatures anymore.
- MD5 — checksum-only. Convenient for non-security uses like detecting accidental file corruption. Broken for any cryptographic purpose.
不适合作为密码哈希
MD5、SHA-1 或 SHA-2 家族都不适合存储密码。请使用慢速、内存密集型且每用户加盐的算法: bcrypt、scrypt 或 argon2id。否则攻击者可以在几分钟内对泄露库进行暴力破解。
示例
空字符串:
MD5 d41d8cd98f00b204e9800998ecf8427e SHA-1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA-256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
UTF-8 字符串 hello world:
MD5 5eb63bbbe01eeed093cb22bb8f5acdc3 SHA-1 2aae6c35c94fcfb415dbe95f408b9ce91ee846ed SHA-256 b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
常见问题
我能用它来给密码做哈希吗?
不能。MD5、SHA-1 和 SHA-2 太快了 — 现代 GPU 每秒能做几十亿次暴力尝试。请使用代价可调的密码哈希算法:argon2id、bcrypt 或 scrypt,并始终配合每用户唯一的盐。
MD5 还能安全用于什么吗?
对于非安全用途,比如检测意外的数据损坏,可以。对于需要抗碰撞的任何场景 — 数字签名、内容寻址、对手可以影响输入的去重 — 不行。
为什么我的哈希和另一个工具的不一样?
通常是因为编码。同样的文本在 UTF-8 和 UTF-16 中字节不同,因此哈希也不同。结尾的换行同样关键 — 从文件复制时往往会带上一个。
Hex bytes 输入是做什么的?
把输入当成以十六进制书写的原始字节序列 (例如 deadbeef = 4 字节 0xde 0xad 0xbe 0xef),而不是要做 UTF-8 编码的字符串。当你想对特定二进制内容而非文本做哈希时很有用。
我的输入会被发到哪里吗?
不会。SHA-1/256/384/512 使用浏览器的 crypto.subtle.digest API,MD5 在一个小型内嵌实现中运行。所有工作都在本地完成。