加载中...

| 中文名 | SHA-256 |
| 所属家族 | SHA-2 |
| 输出长度 | 256位(32字节) |
| 设计方 | 美国国家安全局(NSA) |
| 发布标准 | NIST,2001年 |
| 类型 | 密码学哈希函数 |
SHA-256是安全哈希算法第二代(SHA-2)家族中的成员,能够将任意长度的输入数据映射为一个固定的256位(即64个十六进制字符)摘要。它由美国国家安全局(NSA)设计,并由美国国家标准与技术研究院(NIST)于2001年发布为标准。
作为一种密码学哈希函数,SHA-256具备单向性和抗碰撞性:从摘要无法反推原始数据,也极难找到两个产生相同摘要的不同输入。哪怕原始数据只改动一个比特,输出摘要也会发生显著且不可预测的变化,这一现象称为雪崩效应。
需要强调的是,哈希函数本身不是加密算法,它没有密钥,也不能解密。用于口令存储时,应配合加盐并使用专门的慢速密钥派生函数,而非单纯的SHA-256。
SHA-256被广泛应用于数字证书与数字签名、软件完整性校验(比对文件哈希值)、密码存储的组成部分,以及比特币等区块链系统的工作量证明与区块链接。许多系统还用它构建HMAC消息认证码。
问:SHA-256被破解了吗?答:截至目前,SHA-256尚无有效的碰撞或原像攻击,被认为是安全的。而其前身SHA-1已被证实存在实际碰撞,已不再推荐使用。
问:能用SHA-256直接存用户密码吗?答:不建议。SHA-256速度太快,易被暴力破解或彩虹表攻击。存储密码应使用bcrypt、scrypt或Argon2等加盐的慢速算法。

| 中文名 | SHA-256 |
| 所属家族 | SHA-2 |
| 输出长度 | 256位(32字节) |
| 设计方 | 美国国家安全局(NSA) |
| 发布标准 | NIST,2001年 |
| 类型 | 密码学哈希函数 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧