哈希生成器

从任意文本生成 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 哈希值。免费,基于浏览器。

  • 在浏览器中处理
  • 数据不离开你的设备
  • 免费 · 无需注册
根据当前文本计算 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。编辑文本后需要重新生成。在工具内按 Ctrl/⌘+Enter 也可生成。SHA 使用浏览器 Web Crypto API;出错后可再次点击「生成哈希」。
「清除」清空输入和所有结果,并丢弃等待中的结果。在工具内按 Ctrl/⌘+L 也可清空。本工具不保存输入或结果。
输入文本,按 UTF-8 字节计算哈希。空格和换行也计入;空输入不计算。编码时,孤立代理项会替换为 U+FFFD。
哈希值 每个「复制」按钮复制该行完整的小写十六进制哈希值。复制失败时,请选中哈希值后手动复制。

五种哈希值会显示在这里。

示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

该用哪种哈希算法?

  • MD5:仅用于传统校验和非安全性文件验证。
  • SHA-1:已不适合安全用途(可构造碰撞)。Git 默认仍用 SHA-1 作为对象名。
  • SHA-256:当前通用密码学哈希的标准,广泛用于数字签名和 TLS。
  • SHA-512:安全余量更高;与 SHA-256 哪个更快取决于 CPU。

切勿使用 MD5 或 SHA-1 进行密码哈希。密码应使用 bcrypt、scrypt 或 Argon2 等慢速哈希函数。

核对结果

对 hello 这 5 个字符计算哈希,结果如下:

算法结果
MD55d41402abc4b2a76b9719d911017c592
SHA-1aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

如果终端算出的值不同,先检查有没有看不见的换行。echo "hello" | sha256sum 算的是 hello 加一个换行符,输出 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03;printf 'hello' | sha256sum 才与上表一致。本工具也一样:输入框末尾多一个空格或换行,所有哈希值都会变。

计算文件的哈希

本页只对文本计算哈希。要在不上传的前提下计算文件哈希,请用文件哈希校验,或者运行下面的命令:

sha256sum archive.tar.gz                            # Linux
shasum -a 256 archive.tar.gz                        # macOS
certutil -hashfile archive.tar.gz SHA256            # Windows cmd
Get-FileHash archive.tar.gz -Algorithm SHA256       # PowerShell

存储密码要用慢哈希

MD5、SHA-1 和 SHA-2 系列都为速度而设计,攻击者可以很快地尝试大量猜测。存储密码请用 Argon2id、scrypt 或 bcrypt,参见 OWASP 密码存储速查表。

限制

  • 只支持文本,计算前按 UTF-8 编码。同样的字符如果用 GBK 等其他编码,哈希值不同。
  • 输入为空时不计算。作为参考,空字符串的 SHA-256 是 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。
  • 只输出小写十六进制。

FAQ

我的输入会发送到服务器吗?

不会。MD5 通过纯 JavaScript 实现计算,SHA 系列使用浏览器内置的 Web Crypto API(SubtleCrypto)。数据不会离开你的设备。

MD5 有什么用?

MD5 是一种传统校验算法,不适用于安全敏感场景。完整性校验请用 SHA-256 或更强的算法,存储密码请用 Argon2id、scrypt、bcrypt 等慢哈希。

可以对文件计算哈希吗?

本工具只支持文本(UTF-8 编码)哈希,文件哈希请用「文件哈希校验」工具。

SHA-256 和 SHA-512 有什么区别?

SHA-256 生成 256 位(32 字节)摘要;SHA-512 生成 512 位(64 字节)摘要。SHA-512 安全余量更大;两者谁更快取决于 CPU。