ZeroTool Workbench
哈希生成器
从任意文本生成 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 哈希值。免费,基于浏览器。
使用方法
- 在输入框中粘贴或输入文本。
- 点击生成哈希。
- 五种哈希值会即时显示。
- 点击任意哈希值旁的复制可复制到剪贴板。
该用哪种哈希算法?
- MD5:仅用于传统校验和非安全性文件验证。
- SHA-1:已不适合安全用途(可构造碰撞)。Git 默认仍用 SHA-1 作为对象名。
- SHA-256:当前通用密码学哈希的标准,广泛用于数字签名和 TLS。
- SHA-512:安全余量更高;与 SHA-256 哪个更快取决于 CPU。
切勿使用 MD5 或 SHA-1 进行密码哈希。密码应使用 bcrypt、scrypt 或 Argon2 等慢速哈希函数。
核对结果
对 hello 这 5 个字符计算哈希,结果如下:
| 算法 | 结果 |
|---|---|
| MD5 | 5d41402abc4b2a76b9719d911017c592 |
| SHA-1 | aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d |
| SHA-256 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
如果终端算出的值不同,先检查有没有看不见的换行。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。