免费转换器

SHA 哈希 生成器

在浏览器中即时从文本或文件生成 SHA-1、SHA-256 和 SHA-512 哈希值。使用 Web Crypto API,完全私密且免费。

关于此工具

SHA(安全哈希算法)是由 NSA 设计并由 NIST 标准化的一系列加密哈希函数。该系列包括 SHA-1(160 位,已弃用)、SHA-2 系列(SHA-224、SHA-256、SHA-384、SHA-512)和 SHA-3 系列(2015 年接受的不同设计)。 SHA-256 是当今使用最广泛的成员,出现在 TLS 证书、比特币的工作量证明、Git 的提交标识符和大多数现代加密协议中。

与 MD5 和 SHA-1 不同,SHA-256 没有已知的实际碰撞攻击。在可预见的未来,它被认为是加密安全的,并且是新加密设计的默认哈希函数。 SHA-384 和 SHA-512 为受益于更广泛摘要的应用程序提供更大的输出,并具有类似的安全属性。

该生成器完全在您的浏览器中运行,使用浏览器的内置 SubtleCrypto API。该实现是恒定时间和侧信道抵抗的,其中浏览器的加密模块支持这些属性。没有输入或输出发送到任何服务器。

为什么生成 SHA 哈希值

SHA 哈希是加密完整性的标准。验证文件是否与其发布的哈希值匹配可以防止传输错误和篡改。生成 SHA-256 内容可以让其他人验证该内容是否正是您生成的内容;篡改变得可检测。

现代系统广泛使用 SHA-256:TLS 证书指纹、JWT 签名(使用 HMAC-SHA256)、API 请求签名(AWS、GitHub)、Git 提交标识符、IPFS 内容地址和比特币块哈希。使用其中任何一个都需要能够可靠地计算 SHA-256。

使用方法

粘贴输入,选择变体,获取哈希值。

  1. 选择 SHA 变体: SHA-256 是最常见的(256 位输出,64 个十六进制字符)。 SHA-1 已弃用,但可用于旧版兼容性。 SHA-384 和 SHA-512 为更高保证的应用程序生成更长的哈希值。
  2. 添加输入: 粘贴文本或上传文件。哈希器接受任意内容。
  3. 计算: 浏览器的 SubtleCrypto.digest 函数计算哈希值。输出显示为适当长度的十六进制字符串。
  4. 比较或存储: 复制哈希值进行存储或与预期值进行比较。任何差异都表明输入已更改或损坏。

常见用例

技术细节

SHA-256 以 512 位块的形式处理输入,其结构与 MD5 类似,但具有更强的轮函数和更大的输出。每个块通过 64 轮加法、循环和按位运算更新 256 位内部状态。最终状态是摘要。

SHA-512 处理 1024 位块并通过 80 轮维持 512 位状态。 SHA-384 是将 SHA-512 截断为 384 位,具有不同的初始状态值,使其在密码学上与简单截断不同。

浏览器 SubtleCrypto.digest 原生实现所有 SHA-2 变体,通常在现代 CPU 上使用硬件加速实现(Intel SHA 扩展、ARMv8 SHA 指令)。在利用硬件支持的浏览器中,速度与 MD5 相当。

最佳实践

常见问题

我可以自定义生成的输出吗?
是的。该工具提供了各种自定义选项,可以根据您的特定需求定制输出。在生成之前调整设置,或使用不同的选项重新生成。
生成的内容可以免费使用吗?
是的。您使用此工具生成的所有内容都可以用于个人、教育或商业目的,没有任何限制或归属要求。
这个需要账号吗?
不需要。该工具无需注册、无需电子邮件、无需注册即可立即使用。只需打开页面并开始生成。
我的输入数据是否保密?
是的。所有处理都发生在您的浏览器中。您的输入数据和生成的输出永远不会发送到任何外部服务器。
SHA-3 与 SHA-2 有何不同?
SHA-3 (Keccak) 是一种基于海绵结构的根本不同的设计。它被标准化为对冲潜在 SHA-2 弱点的手段; SHA-2 仍然是安全的,SHA-3 在实践中并未取代它。
我的输入是否上传到服务器?
不会。哈希值在您的浏览器中使用 SubtleCrypto 进行。
为什么一些已发布的哈希值是大写的?
六角形外壳纯粹是装饰性的;大写和小写代表相同的值。大多数现代系统都使用小写字母。
SHA-256 可以逆转吗?
不,是设计使然。哈希函数是单向的:没有有效的算法来查找给定哈希的输入。暴力搜索是唯一的选择,并且搜索空间对于典型输入来说在计算上是不可行的。