SHA256值的计算过程:填充、分块与输出

77 0

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

SHA256值的计算过程

计算方向:数据 → 填充到 512 位整数倍 → 分块压缩 → 256 位摘要。

SHA256 先对输入做填充:在末尾补 1 个“1”位和若干“0”位,再附上原始长度,使总长度是 512 位的整数倍;然后把数据分成 512 位的块,依次送入压缩函数,与内部状态(256 位)进行多轮位运算和模加,最后的状态就是摘要。SHA-256 每块 64 轮。

示例

输入:2026-11-11

计算结果:4e9c38edd9fe3c0bdf16b4dad77c1241b1d98163621b9ba96a81c39308d39a58

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

规则说明

  • 输入是字节:同一段中文按 UTF-8 和 GBK 计算,结果不同
  • 输出通常用小写十六进制表示,大小写不影响比较
  • 也可以用 Base64 表示(32 字节编码为 44 个字符)
  • 比较两个摘要时应使用常量时间比较函数,防止时序攻击

怎么选

需要安全性(签名、证书、完整性防篡改)选 SHA-256 或 SHA-3;只校验文件是否意外损坏,MD5 也够用且速度快;存储用户密码不要直接用任何这类哈希,应使用 bcrypt、scrypt 或 Argon2 并加盐。

MD5 输出 128 位,SHA-1 输出 160 位,SHA-256 输出 256 位。MD5 和 SHA-1 都已出现实际碰撞,不能用于安全场景;SHA-256 目前安全。哈希与加密不同:加密可以用密钥解密还原,哈希不可逆。哈希与 Base64 不同:Base64 可以还原,长度随输入变化。

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

常见问题

【空字符串的 SHA256 是多少?】e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。

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

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

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

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

标签: 编码 文本处理

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