SHA-256 采用 Merkle–Damgård 结构,以 32 位字为单位对每个 64 字节的分组做 64 轮运算,输出 32 字节。空字符串的摘要为 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,abc 的摘要为 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。目前没有任何攻击能接近它的安全界限。
大多数现代 CPU 都有 SHA-256 指令(Intel 和 AMD 的 SHA 扩展、ARMv8 密码扩展)。在 Apple M4 Max 的单个核心上,使用 16 KiB 缓冲区时,OpenSSL 3.6.5 的哈希速度约为 2.85 GB/s,比同一台机器上的 SHA-512(1.65 GB/s)和 SHA3-256(1.01 GB/s)更快。比特币对区块 ID 和交易 ID 连续应用两次 SHA-256(SHA-256d)。
它的 Merkle–Damgård 结构允许长度扩展,因此 SHA-256(secret ‖ message) 不是安全的 MAC;应使用 HMAC-SHA256。标识符:OID 2.16.840.1.101.3.4.2.1;JOSE 体系中,PKCE 使用 S256,SD-JWT 的 _sd_alg 使用 sha-256;WebCrypto 中为 SHA-256,OpenSSL 和 Node 中为 sha256。