SHA 哈希

计算文本和文件哈希并比对

输入

哈希值

输入后会显示哈希值。

MD5 和 SHA-1 已知存在碰撞,不适合用于完整性校验,因此不提供。

文本和文件只在浏览器中读取,不会上传,也不会保存。

使用说明

计算字符串或文件的 SHA-256、SHA-384、SHA-512 哈希值,并与对方给的哈希比对。确认下载文件有没有被改动用的校验和就是这个值。文件只在浏览器中读取,不会上传到任何地方。

什么时候用

  • 确认下载的安装包是否被篡改。
  • 不看文件名,按内容确认两个文件是否完全相同。
  • 开发或验证时需要字符串的哈希值。

使用方法

  1. 选择工作模式:字符串、文件、哈希比对。
  2. 选择算法(SHA-256、384、512)。
  3. 输入文字或选择文件,哈希立刻算出。
  4. 把发布方给的哈希和自己的值放进比对栏确认是否一致。

需要知道的事

  • 不提供 MD5 和 SHA-1。 已经有办法让不同内容产生相同值(碰撞),不适合用于完整性校验。
  • 文件只在浏览器中读取,不会上传,大文件或敏感文件都可以放心使用。
  • 哈希只要差一个字就完全不同,所以不存在「比较像」,只有相同或不同。
  • 哈希无法还原出原内容,它是指纹而不是加密。

常见问题

为什么没有 MD5?

因为已经可以构造出两个 MD5 相同的不同文件,SHA-1 也一样。把这种算法拿来做完整性校验,只会带来虚假的安心。

校验和怎么核对?

复制下载页面给出的哈希,在这里算出该文件的哈希,然后把两者放进比对栏。一致说明文件完好,不一致说明传输中损坏或根本不是同一个文件。

大文件也可以吗?

最大 200MB。超过就不处理并明确告知。文件越大越慢,计算过程中会显示进度。

可以用来保存密码吗?

不行。保存密码需要 bcrypt、argon2 这类故意做得很慢的算法,SHA 系列速度快,反而便于暴力破解。本工具用于文件和文本的完整性校验。

SHA-256 和 512 选哪个?

绝大多数情况 SHA-256 就够,也最常见。发布方给的是 SHA-512 就选 512 — 比对只有在同一算法之间才有意义。