SHA256 是一种哈希(散列)算法,把任意长度的数据计算成固定 256 位(32 字节)的摘要,通常写成 64 位十六进制字符串。下面重点说明分步原理。
SHA256怎样一步步运算
SHA256 先对输入做填充:在末尾补 1 个“1”位和若干“0”位,再附上原始长度,使总长度是 512 位的整数倍;然后把数据分成 512 位的块,依次送入压缩函数,与内部状态(256 位)进行多轮位运算和模加,最后的状态就是摘要。SHA-256 每块 64 轮。
示例
输入:https://www.123wen.cn/?q=测试
计算结果:9e426c93ac09a67967c52e1523b72b132633ed1fcae8711112cc2c30391273a9
说明:对 UTF-8 字节计算 SHA256。
核心要点
- 输出固定 256 位,十六进制 64 个字符
- 空字符串的 SHA256 是 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- “abc”的 SHA256 是 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
- 哈希是单向的,不能从结果“解密”出原文
- 安全性:目前安全,广泛用于 TLS 证书、比特币、软件发布校验
乱码排查
SHA256 结果本身不会乱码,它只包含 0–9 和 a–f;如果结果“对不上”,多半是计算前的文本字符集不同,例如 Windows 程序按 GBK 计算,网页按 UTF-8 计算。
本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【SHA256 能解密吗?】不能。SHA256 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。
【SHA256 是多少位?】256 位,即 32 字节,写成十六进制是 64 个字符。
【同一个文本为什么算出的 SHA256 不一样?】通常是输入字节不同:字符集不同、末尾多了换行或空格、全角半角不同。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。