SHA256 是一种哈希(散列)算法,把任意长度的数据计算成固定 256 位(32 字节)的摘要,通常写成 64 位十六进制字符串。下面重点说明公式与推导。
SHA256的计算公式
SHA256 的计算结果长度与输入无关:无论输入 1 个字节还是 1 GB,输出都是 64 个十六进制字符。计算时间大致与输入长度成正比。
输入:https://www.123wen.cn/?q=测试
计算结果:9e426c93ac09a67967c52e1523b72b132633ed1fcae8711112cc2c30391273a9
说明:对 UTF-8 字节计算 SHA256。
Python 示例
下面是 Python 中处理SHA256的常用写法:
import hashlib
hashlib.sha256("abc".encode("utf-8")).hexdigest()
# ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
h = hashlib.sha256()
with open("file.iso", "rb") as f:
for chunk in iter(lambda: f.read(1 << 20), b""):
h.update(chunk)
print(h.hexdigest())运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
乱码排查
SHA256 结果本身不会乱码,它只包含 0–9 和 a–f;如果结果“对不上”,多半是计算前的文本字符集不同,例如 Windows 程序按 GBK 计算,网页按 UTF-8 计算。
本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【SHA256 还安全吗?】目前安全,广泛用于 TLS 证书、比特币、软件发布校验。
【空字符串的 SHA256 是多少?】e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。
【SHA256 能解密吗?】不能。SHA256 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。