EN
首页 分类 SHA 系列哈希

SHA 系列哈希

SHA-1 / SHA-256 / SHA-512 摘要,文本与文件均可计算

常见问题

SHA 和 MD5 有什么区别?

SHA 系列摘要更长、目前没有实用碰撞,MD5 在 2004 年就已被证明存在碰撞。需要防篡改时要选 SHA-256 及以上。

该选 SHA-256 还是 SHA-512?

一般场景用 SHA-256 就够,输出 64 个字符、速度也快。SHA-512 更长更慢,安全强度提升对普通校验意义不大。

计算结果会上传吗?

不会。基于浏览器 Web Crypto 本地计算,断网也能用。

关于这个工具

一个页面给出四种摘要:MD5、SHA-1、SHA-256、SHA-512,切换下拉框即时重算;文本和文件(工具栏「哈希文件」)都支持,全部在浏览器内完成。

输出长度各不相同:MD5 32 个十六进制字符、SHA-1 40 个、SHA-256 64 个、SHA-512 128 个。长度本身就是算法标识 —— 对比哈希之前先数位数,能省掉一大半「校验不通过」的排查。

SHA-1 已经不该再用:2017 年的 SHAttered 攻击给出了两份内容不同、SHA-1 相同的 PDF,成本还在逐年下降。GitHub 和各大发行版早已停止签发 SHA-1。做完整性校验选 SHA-256,长度够用、速度快,也是发布页面最常见的那一种。

SHA-512 并不是「更安全的 SHA-256」:在 64 位设备上它往往更快,但摘要长一倍,存储和传输成本更高。普通文件校验用 SHA-256 就够,安全强度在这个场景下不是瓶颈。

实现上有一点会踩到:SHA 走浏览器 Web Crypto,而 Web Crypto 只在安全上下文(https 或 localhost)可用。如果你把页面存成本地文件、用 file:// 打开,SHA 可能算不出来,MD5 却正常 —— 因为 MD5 是纯 JS 自实现,不依赖那个接口。