SHA-256 是 SHA-2 系列中最常用的密码散列函数,由美国国家安全局设计、于 2001 年随标准发布,可将任意长度数据压缩为 256 位固定摘要,广泛用于数字签名、HTTPS 证书、文件校验与比特币等区块链系统。

| 类型 | 密码散列函数(哈希算法) |
| 设计方 | 美国国家安全局(NSA) |
| 发布机构 | 美国国家标准与技术研究院(NIST) |
| 推出时间 | 2001年 |
| 输出长度 | 256 位(64 个十六进制字符) |
| 国家或地区 | 美国 |
SHA-256 是一种密码散列函数(哈希算法),属于 SHA-2 家族,能把任意长度的输入数据计算成固定 256 位(64 个十六进制字符)的摘要值,常用于验证数据完整性和构建各类安全协议。
SHA-2 系列由美国国家安全局(NSA)设计,2001 年由美国国家标准与技术研究院(NIST)作为联邦信息处理标准发布,SHA-256 是其中应用最广的成员。它的出现是为了替代安全性逐渐不足的 MD5 和 SHA-1——这两者后来都被证实可以人为制造碰撞,而 SHA-256 至今没有公开的有效攻击,仍被视为安全的通用哈希算法。
从内部结构看,SHA-256 采用 Merkle–Damgård 构造:先把消息填充并切分为 512 位的分组,再通过基于 Davies–Meyer 结构的单向压缩函数逐块迭代运算,每块经过多轮位运算混合,最终得到摘要。这种设计保证了输入哪怕只变动一个比特,输出也会面目全非(雪崩效应)。
SHA-256 几乎无处不在:HTTPS 证书签名、软件下载页的校验码、Git 新版本的对象校验、密码存储(配合加盐和慢哈希方案)都依赖它。最广为人知的应用是比特币——其工作量证明挖矿和交易 ID 均基于 SHA-256 运算。
问:SHA-256 是加密算法吗,能解密吗?答:不是。哈希是单向压缩摘要,不存在「解密」;加密算法(如 AES)才可用密钥还原原文,两者用途不同。
问:SHA-256 和 MD5 该选哪个?答:一律选 SHA-256。MD5 已被攻破,可被人为构造碰撞,仅适合非安全场景的简单校验。
问:直接用 SHA-256 存用户密码安全吗?答:不够。它计算太快,易被彩虹表和暴力破解,应改用 bcrypt、scrypt 或 Argon2 等专门的慢哈希方案。

| 类型 | 密码散列函数(哈希算法) |
| 设计方 | 美国国家安全局(NSA) |
| 发布机构 | 美国国家标准与技术研究院(NIST) |
| 推出时间 | 2001年 |
| 输出长度 | 256 位(64 个十六进制字符) |
| 国家或地区 | 美国 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧