通过MCP连接 →

输入计算

数学公式

广告

结果

SHA-256 摘要(十六进制)
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
256 位(64 个十六进制字符)
算法 SHA-256(SHA-2 系列)
输入长度 3 bytes (UTF-8)
输出大小 32 字节 / 256 位

什么是 SHA-256?

SHA-256 属于 SHA-2 系列密码学哈希函数,由美国国家标准与技术研究院(NIST)制定标准。它可以接收任意长度的输入信息,并生成固定的 256 位(32 字节)摘要,在本工具中以 64 个十六进制字符的形式展示。对于相同的输入,它始终产生相同的摘要;而哪怕只改动一个字符,输出也会完全不同,这就是所谓的"雪崩效应"。SHA-256 被广泛应用于 TLS 证书、数字签名、区块链(如比特币)以及文件完整性校验等场景。

$$\text{Hash} = \operatorname{SHA\text{-}256}\!\left(\text{Input Text}\right)$$

Flat diagram showing input text passing through a SHA-256 function box and producing a fixed 64-character hexadecimal digest
SHA-256 maps any input to a fixed 256-bit (64 hex character) digest.

如何使用本计算器

在输入框中输入或粘贴任意文本,然后提交即可。计算器会先将文本进行 UTF-8 编码,再运行 SHA-256 算法,最终返回十六进制摘要以及输入内容的字节长度。空输入同样有效,会得到那个广为人知的"空字符串摘要"。

算法原理解析

SHA-256 首先对消息进行填充,使其总长度成为 512 位的整数倍,再将其切分为多个 512 位的数据块。每个数据块都要经过 64 轮位运算处理,包括循环移位、移位、AND/XOR 以及模加运算,并与 8 个 32 位工作变量相互混合——这些变量的初始值取自若干质数平方根小数部分的二进制表示。每处理完一个数据块,8 个寄存器的结果都会累加回当前的哈希状态;将它们拼接起来,便得到最终的 256 位摘要。

Flat diagram showing UTF-8 byte conversion step then SHA-256 producing a 256-bit output broken into eight 32-bit words
The input is first encoded as UTF-8 bytes, then hashed into a 256-bit digest of eight 32-bit words.

实例演示

输入 abc(3 字节)会得到摘要 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。空字符串则得到 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855——这是一个标准的测试向量。

$$\operatorname{SHA\text{-}256}\!\left(\text{abc}\right) = \text{ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad}$$

常见问题

SHA-256 可以被逆向还原吗?不能。它是一种单向函数,无法从摘要反推出原始输入。

为什么字节数比字符数还多?非 ASCII 字符(如带音标的字母、表情符号、中日韩文字等)在 UTF-8 编码下会占用多个字节,因此字节长度可能超过字符数量。

SHA-256 现在还安全吗?安全。截至目前,尚不存在针对 SHA-256 的实用碰撞攻击或原像攻击,它仍然是通用场景下推荐使用的哈希算法。

最后更新: