SHA-256 哈希生成器
在浏览器中即时生成任意文本的 SHA-256 哈希值。支持 UTF-8、十六进制或 Base64 输入,输出十六进制或 Base64。免费、私密,无需上传。
完全在浏览器中运行,您的数据不会被上传。
什么是 SHA-256 哈希生成器?
SHA-256 是 SHA-2 家族中使用最广泛的成员,生成 256 位(64 个十六进制字符)的摘要。它保护着 TLS 证书、软件下载、比特币和无数 API。本工具会在你输入时实时计算文本或原始字节(十六进制或 Base64)的 256 位 SHA-256 摘要,并以 64 个十六进制字符或 Base64 显示。
如何使用 SHA-256 哈希生成器
- 在 要计算哈希的文本 中输入或粘贴内容——摘要会随输入实时更新(输入框为空时显示空输入的哈希值)。
- 选择 输入编码:文本 (UTF-8) 会把字符按 UTF-8 计算哈希,十六进制字节 或 Base64 则对解码后的原始字节计算哈希。
- 选择 输出格式(十六进制小写、十六进制大写或 Base64),然后点击 复制。
示例
abc
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
3 个 ASCII 字节“abc”的 SHA-256(UTF-8,十六进制小写输出),即标准测试向量。
何时使用 SHA-256 哈希生成器
SHA-256 文本工具适合对字符串计算哈希:复现文档或代码中的值、构造测试向量、比对 API 签名的输入,或检查程序应输出的结果。不要用它校验下载的文件:把文件内容复制到文本框会改变换行符和编码,请使用 SHA-256 文件校验工具。密码存储请使用专门的密码哈希;需要带密钥的完整性校验请使用 HMAC-SHA256。
SHA-256 哈希生成器 的工作原理
SHA-256 先用一个 1 比特、若干 0 和 64 位大端序的位长度把消息填充为 512 位的整数倍。每个分组被扩展为 64 个字,再经过 64 轮运算混入八个 32 位状态字,使用 Σ0、Σ1、Ch、Maj 函数以及取自前几个素数立方根的 64 个常数。最终的八个字构成摘要。文本会先转换为字节(默认 UTF-8),因此相同的字符总会得到相同的哈希值。
常见用例
- 在单元测试或测试数据中核对字符串的预期 SHA-256
- 对从调试器、抓包结果或协议规范中复制的十六进制字节计算哈希
- 比较两种编程语言之间结果不一致的 SHA-256 输出
- 从文本生成确定性的标识符或缓存键
- 获取 SHA-256 摘要的 Base64 形式,用于请求头或配置文件
安全提示
SHA-256 目前没有已知的实际攻击。普通哈希也不适合存储密码:请使用 Argon2、scrypt 或 bcrypt 等慢速、加盐的密码哈希。所有计算都在你的浏览器本地完成,输入的内容不会发送到任何地方。
常见问题
SHA-256 安全吗?
安全。目前没有已知的实际碰撞或原像攻击;找到碰撞仍需要约 2^128 的计算量。它获得 NIST 批准,并广泛用于 TLS、代码签名和区块链。
为什么我文件的 SHA-256 与这个文本页面算出的不同?
文本是按其 UTF-8 字节计算哈希的,因此缺少末尾换行符或使用 CRLF 换行符都会改变结果。要校验下载的文件,请使用 SHA-256 文件校验工具,它会对文件的精确字节计算哈希。
为什么只改一个字符,哈希值就完全变了?
这就是每种密码学哈希都刻意追求的雪崩效应:输入翻转一个比特,256 位输出中大约一半会改变,因此相似的输入会得到毫不相关的摘要。
末尾的空格或换行符有影响吗?
有。哈希覆盖每一个字节,所以 abc 和后面跟着换行符的 abc 会得到不同的 SHA-256 值。请确保输入中恰好是你想计算哈希的那些字节。