SHA-256 在线哈希与校验工具,覆盖三种用法:
全部计算在浏览器本机完成,文本与文件都不会上传到服务器。
SHA-256 属于 SHA-2 家族,由 NSA 设计、NIST 于 2001 年发布(FIPS PUB 180-2,现行版本 FIPS 180-4)。SHA-2 家族还包括 SHA-224、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
| 项目 | 说明 |
|---|---|
| 输出长度 | 256 位 = 32 字节 = 64 位十六进制 |
| 分组长度 | 512 位 |
| 字长 | 32 位 |
| 轮数 | 64 轮 |
| 发布机构 | NIST(FIPS 180-4) |
| 是否可逆 | 不可逆 |
| 安全性 | 目前没有实际攻破的碰撞攻击 |
SHA-256 与 SHA-512 的结构相同(都是 Merkle–Damgård + Davies–Meyer 压缩函数),区别在于字长(32 位 vs 64 位)、轮数(64 vs 80)与初始向量。SHA-224 是 SHA-256 的截断变体,SHA-384 是 SHA-512 的截断变体。
SHA-3 是 2015 年 NIST 通过公开竞赛选出的新一代标准(Keccak 算法,FIPS 202),结构与 SHA-2 完全不同(海绵结构),设计上不共享 SHA-2 的潜在弱点。但 SHA-3 并不是因为 SHA-2 被攻破才推出的,而是为了在 SHA-2 万一被攻破时有备选方案。目前 SHA-256 依然安全,SHA-3 主要用于需要与 SHA-2 结构差异化的场景。
| 格式 | 说明 |
|---|---|
| 小写十六进制 | 默认输出,64 个字符,最常用 |
| 大写十六进制 | 64 个大写字符 |
| Base64 | 32 字节摘要的 Base64,44 个字符含填充 |
| 分段(每 8 位) | 便于人工核对的分组显示 |
比特币为什么用 SHA-256?
校验文件完整性时要注意什么?
「SHA-256 加密」这个说法对吗?
为什么同一个文件算出的 SHA-256 和别人不一样?
多大的文件可以计算?
文件不会上传到服务器吧?
SHA-256 的输出为什么是 64 个字符?
SHA-2 和 SHA-3 有什么区别?
SHA-256 和 SHA-512 该选哪个?
SHA-256 能用来存密码吗?
SHA-256 安全吗?被攻破了吗?
SHA-256 是什么?