用 Python 处理 SHA256

50 0

SHA256 是一种哈希(散列)算法,把任意长度的数据计算成固定 256 位(32 字节)的摘要,通常写成 64 位十六进制字符串。下面重点说明标准库写法。

用 Python 处理 SHA256

下面是 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),结果可以用本站工具交叉核对。

示例

输入:123问

计算结果:d41c83967bf667645cc42ec0756e62fa1e243449042e38e69d913c4fb04253d0

说明:对 UTF-8 字节计算 SHA256。

常见用途

  • 校验下载文件是否完整、未被篡改(对照官方公布的摘要)
  • 数据去重、缓存键、文件指纹
  • 数字签名和证书(只适用于安全的算法)
  • HMAC 消息认证
  • 区块链(比特币用双重 SHA-256)

Go 示例

下面是 Go 中处理SHA256的常用写法:

import "crypto/sha256"
sum := sha256.Sum256([]byte("abc"))
fmt.Printf("%x\n", sum)

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【SHA256 能解密吗?】不能。SHA256 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。

【SHA256 是多少位?】256 位,即 32 字节,写成十六进制是 64 个字符。

【同一个文本为什么算出的 SHA256 不一样?】通常是输入字节不同:字符集不同、末尾多了换行或空格、全角半角不同。

文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: SHA256 数码开发

抱歉,评论功能暂时关闭!