SHA-256
安全SHA-2 家族主力摘要算法
SHA-256 是美国 NSA 设计、NIST 于 2001 年发布的 FIPS 180-2 标准成员,输出 256 位摘要,是 TLS 证书、比特币与文件校验的现行主流哈希算法。
标准与家族
SHA-2 家族由 NSA 设计、NIST 以 FIPS 180-2(2002)发布,现行为 FIPS 180-4(2015)。SHA-256 输出 256 位;同族还有 SHA-224/384/512。更早的 SHA-0(1993)/SHA-1(1995)已被碰撞攻击击破(SHA-1 于 2017 年 SHAttered 攻击、2020 年实战化),SHA-2 至今无有效碰撞攻击。
用在哪里
HTTPS 证书签名(CA/Browser Forum 自 2016 年起强制 SHA-256 以上)、软件包校验(SHA256SUMS)、比特币的工作量证明(双重 SHA-256)、Git 对象寻址(1.0 用 SHA-1,正迁移 SHA-256)、HMAC-SHA256 签名(JWT 的 HS256)。
与密码存储
SHA-256 虽未破,但设计目标是"快"——恰恰不适合存密码(攻击者同样快)。密码存储选 Argon2(PHC 2015 冠军)、bcrypt、scrypt 等慢哈希并加盐。文件完整性校验用 SHA-256 完全正确。