SHA1哈希计算器 在线计算SHA-1校验和
SHA1 哈希计算器,160 位输出。已被 SHAttered 碰撞攻击实际破解,主流浏览器已弃用。仅在旧版 Git 仓库兼容场景中使用。
更新于 2026-08-16
相关工具
功能特性
- 在线计算 SHA-1 哈希值:守护互联网安全长达二十年的算法
- 实时 160 位哈希计算,40 位十六进制输出
- 一键复制、保存为 .txt 文件,支持大小写模式
- 在旧版 Git 仓库和旧 SSL 证书中仍可见到
- 支持 SHA-1 校验和比对
- 哈希比对工具:粘贴预期 40 字符 SHA-1 哈希即时验证完整性
- 实时输入长度计数:字符数和字节数与哈希同步显示
- 无需安装 Git,在任何设备上计算 SHA-1
- 会话历史:保留 SHA-1 结果,便于比较多个 Git 提交或文件校验和
使用方法
- 1在上方输入框中输入或粘贴文本。
- 2哈希摘要即时显示,无需刷新页面。
- 3切换大小写按钮改变十六进制输出格式。
- 4点击复制图标将哈希值复制到剪贴板,或使用保存保存为 .txt 文件。
- 5在校验栏粘贴预期哈希值即可比对。
- 6如何检查 Git 提交哈希:Git 内部使用 SHA-1 作为提交 ID。将 Git 提交消息或树对象内容粘贴到工具中,与 `git log` 显示的提交哈希比对。
- 7如何验证旧版 SHA-1 证书指纹:将证书内容输入工具计算 SHA-1 哈希,与浏览器或 CA 文档中显示的证书指纹比对。
- 8如何用 SHA-1 识别重复文件:计算每个文件内容的 SHA-1。相同文件产生相同的 40 字符哈希,去重一目了然。
- 9如何比较 SHA-1 与 SHA-256 输出:在两种工具中输入相同文本。SHA-1 输出 40 字符,SHA-256 输出 64 字符:24 字符差异代表额外的 96 位安全性。
- 10如何为旧版兼容记录 SHA-1 校验和:维护需要 SHA-1 的旧系统时,使用此工具生成校验和,按需切换大小写,通过保存按钮保存结果。
常见问题
什么是 SHA-1?
SHA-1 由美国国家安全局设计,1995 年发布。输出 160 位哈希值。二十年来保护 SSL/TLS 证书、Git 提交和全球数字签名。在线 SHA-1 生成器和计算器会从你粘贴的任意文本或文件内容算出这个 40 字符摘要。(参见:NIST FIPS 180-4)
SHA-1 现在还安全吗?
不安全。SHAttered 攻击(2017 年)创建了具有相同 SHA-1 哈希的两份不同 PDF,证明了实际碰撞的可行性。所有主流浏览器已弃用。
SHA-1 还在哪里使用?
Git 内部使用 SHA-1 做提交哈希。虽然正向 SHA-256 过渡,大多数仓库仍在使用。部分旧系统和硬件安全模块保留 SHA-1 支持。
什么替代了 SHA-1?
SHA-256 是直接替代品。所有现代 TLS 证书、代码签名和数字签名均使用 SHA-256 或更强变体。
SHAttered 攻击是什么?
2017 年 Google 与荷兰 CWI 的合作项目,创建了具有相同 SHA-1 哈希的两份不同 PDF 文件。计算量相当于 6,500 年单 CPU 时间。
SHA-1 输出多少十六进制字符?
SHA-1 产生 160 位哈希,显示为 40 个十六进制字符。在向 SHA-2 和 SHA-3 系列过渡之前,这是标准哈希长度。
为什么 Git 仍然使用 SHA-1?
Git 对 SHA-1 的使用深度集成到其数据模型中。Git 正在向 SHA-256 过渡(通过 hash-function-transition 计划),但由于需要与现有仓库向后兼容,进程缓慢。
SHA-1 碰撞能在实践中利用吗?
利用 SHA-1 碰撞需要控制被哈希的两个文件。对于 Git,攻击者需创建两个冲突提交,可能但可检测。对于 SSL 证书,碰撞攻击已在 Flame 恶意软件(2012)和后续 SHAttered 中演示。
SHA-0 和 SHA-1 有什么区别?
SHA-0 是 1993 年 NSA 的原始设计,发布后不久因未公开的缺陷被撤回。SHA-1(1995)通过一个额外的旋转操作修复了此问题。SHA-0 比 SHA-1 更不安全。
SHA-1 对非安全校验还能接受吗?
对于检测意外损坏(网络错误、磁盘故障),SHA-1 仍然可用。但即使对于校验和,也推荐 SHA-256,因为在现代硬件上计算成本差异已可忽略。
SHA-1 算法如何工作?
SHA-1 在 512 位块上通过 80 轮压缩处理输入。使用 32 位字、按位运算和模加法。内部状态由五个 32 位变量组成。
SHA-1 与 SHA-256 的性能对比?
SHA-1 在软件中比 SHA-256 快约 30-50%,但差距在配备 SHA 扩展的 CPU 上缩小。鉴于 SHA-1 已被破解,速度差异不足以证明继续使用合理。
为什么 SHA-1 哈希不能解密回原文?
SHA-1 是单向散列函数:40 位十六进制结果是输入的固定长度指纹,不是加密密文,没有逆运算。想找回原文只能靠暴力破解或彩虹表,而 SHA-1 计算极快,弱密码几秒钟就会被常见字典跑完。这就是为什么密码存储要用加盐的慢速算法(bcrypt、argon2),SHA-1 只适合做完整性校验。
浏览器现在还信任用 SHA-1 证书的网站吗?
不信任。Chrome 56(2017 年)及之后的 Chrome、Firefox、Safari、Edge 都会拒绝 SHA-1 签名的证书并显示完整的「不安全」警告,部分浏览器直接拒绝加载页面。如果你的服务器还在用 SHA-1 证书,立刻向任何主流 CA 申请 SHA-256(或 ECDSA)证书换掉。本工具的 SHA-1 只用于核对旧哈希、Git 提交 ID 和老校验和。任何浏览器或 CA 要验证的东西都不能再用它。
SHA-1 和 SHA-256 有什么区别?能互相转换吗?
它们是两个不同的算法,不是同一算法的长短版本。SHA-1 输出 40 个十六进制字符(160 位),SHA-256 输出 64 个(256 位)。不存在互相转换:拿到 SHA-1 哈希无法算出原文的 SHA-256(那需要逆向哈希),把 SHA-1 字符串再哈希也只是给 40 个字符做哈希。要比较同一内容的两种哈希,请分别对原始文本用两个算法计算。
哈希的大小写不一样会影响校验结果吗?
不会,十六进制不区分大小写。'a94f8cd5...' 和 'A94F8CD5...' 是同一个值,Git、校验工具和本页的校验栏都接受任意大小写。本工具的大小写切换纯粹是为了和你文档里的风格保持一致。真正会破坏校验的是多加空格、少复制一位、或贴成别的算法的输出:长度是最快的鉴别点(SHA-1 永远是 40 个字符)。