跳到主要内容
Leavesc

哈希生成器

即时生成 SHA-1、SHA-256、SHA-512 摘要。

  • 100% 纯前端
  • 永久免费
  • 无需注册
摘要

经由 Web Crypto 在本地计算。断网后依然可用,可自行验证。

完全在你的浏览器里运行,文件不会上传到任何服务器。

哈希函数把任意输入变成定长的指纹:改一个字符指纹就面目全非,同样的文本每次算出来都一样。这个单向性让它适合三件事:校验下载(把官方公布的校验值和你的文件比对)、存密码(服务只存哈希不存密码)、给数据打指纹。SHA-256 是当前的主力——快、处处支持、没有实际可行的攻击。SHA-512 是摘要更长的兄弟版本。SHA-1 只用来验旧的校验值,它的抗碰撞性已经 broken,不能再用于任何安全场景。文本哈希工具做不到的一件事:算文件的校验值。下载校验是对文件字节算的,请用专门的文件校验工具。

哈希是什么、不是什么

哈希不是加密。加密的数据拿钥匙能解回来,哈希按设计就是不可逆的,算力再强也逆不回去。它也不是压缩——输出不泄露输入的长度和内容。它给你的是一枚紧凑、确定的指纹:相同输入永远得到相同哈希,不同输入以压倒性概率得到不同哈希。所以它适合做完整性校验,不适合做保密。

选哪个算法

验官方校验值就用官方用的那个算法,名字必须对上,否则比了也白比。新用途默认选 SHA-256:浏览器到数据库处处支持,交互场景的速度绰绰有余,也足够可信。SHA-512 在 64 位服务器上略快、摘要更长,服务端批量哈希可以考虑。SHA-1 只为兼容旧校验值而存在,再拿它做新的安全用途属于失职。

为什么这个工具在本地跑

把要哈希的文本发到服务器,等于把你想保护的东西(要打指纹的 API key、要查是否泄露的密码)先交出去。本页用 Web Crypto API 在浏览器标签页里计算,输入不出设备。不信可以自己验证:打开工具、断网,它照常用。

使用方法

  1. 在输入框里输入或粘贴文本。
  2. 选算法:通用选 SHA-256,要更长摘要选 SHA-512,SHA-1 只用于旧校验值。
  3. 复制得到的十六进制摘要。
  4. 如果手里有期望值,和它比对。

常见问题

粘敏感文本进来安全吗?

安全。摘要经由 Web Crypto 在你的浏览器里本地计算,不传输任何东西。断网后工具照常用,可以自己验证。

为什么没有 MD5?

MD5 的抗碰撞性已经 broken,Web Crypto API 刻意不提供它。放一个 MD5 选项等于暗示它还能用于安全场景,这是误导。

两段不同文本可能算出同一个哈希吗?

理论上可能,这叫碰撞。实际上 SHA-256 和 SHA-512 从未发现过碰撞,在任何现实的算力预算内也不预期会出现。

能算文件的哈希吗?

这个工具只算你输入的文本。文件校验是对原始字节算的,验下载请用专门的文件校验工具。

相关工具