哈希生成器

从任意文本计算 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.
Type input above and the hashes will compute live.

何时使用哪种

  • 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 家族都不适合存储密码。请使用慢速、内存密集型且每用户加盐的算法: bcryptscryptargon2id。否则攻击者可以在几分钟内对泄露库进行暴力破解。

示例

空字符串:

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 每秒能做几十亿次暴力尝试。请使用代价可调的密码哈希算法:argon2idbcryptscrypt,并始终配合每用户唯一的盐。

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 在一个小型内嵌实现中运行。所有工作都在本地完成。

相关工具