待哈希文本
摘要
SHA-1
— 输入上方文本以获取哈希值 —SHA-256
— 输入上方文本以获取哈希值 —SHA-384
— 输入上方文本以获取哈希值 —SHA-512
— 输入上方文本以获取哈希值 —关于 哈希生成器
哈希函数将任意长度的输入映射成固定长度的输出,相同输入永远产生相同哈希。本工具支持 SHA-1、SHA-256、SHA-384、SHA-512 四种主流算法,全部基于浏览器 Web Crypto API 在本地计算,密码、Token 等敏感数据不会离开你的设备。
使用场景
- 校验文件完整性 — 比对下载文件的 SHA-256,与官方公布值一致才能确认未被篡改。
- 密码存储前预处理 — 配合 salt 使用,但密码存储建议使用 bcrypt(本站「Bcrypt 哈希」工具)。
- Git commit 验证 — Git 用 SHA-1 标识 commit,本工具可手动复算验证 commit 内容。
- API 签名计算 — 配合 HMAC(本站「HMAC 生成器」)生成请求签名。
- 去重 / 缓存 key — 用内容哈希做缓存 key,相同内容只存一份。
常见问题
SHA-1 还能用吗?
密码学场景已不安全(2017 年 Google 公布碰撞攻击),但用于校验和、Git commit ID 等非对抗场景仍可。
SHA-256 和 SHA-512 哪个更安全?
都足够安全。SHA-512 输出更长(128 位十六进制 vs 64 位)但计算稍慢,绝大多数场景用 SHA-256 即可。
为什么没有 MD5?
MD5 早已被破解(2004 年王小云团队),不建议任何新代码使用。如确需 MD5,浏览器原生 API 也不再提供。
同一段文本每次计算结果都一样吗?
是的。哈希函数是确定性的——相同输入永远输出相同哈希,这正是它能用于校验的原因。
能从哈希反推原文吗?
不能。哈希是单向函数,无法从输出反推输入。但短弱密码可被字典或彩虹表攻击,这就是为什么密码存储要用 bcrypt+salt。