如果你还在用MD5来加密用户密码,可能已经不安全了。随着计算能力的提升,MD5的碰撞漏洞越来越容易被利用。而SHA系列算法,特别是SHA256,是目前更安全、更广泛使用的哈希算法。本文将带你了解SHA是什么,以及如何正确使用它。
一、SHA是什么?和MD5什么关系?
SHA的全称是“安全哈希算法”,是由美国国家安全局设计的一系列哈希函数。和MD5一样,它也是不可逆的摘要算法——输入任意长度的内容,输出固定长度的哈希值,且无法从哈希值反推原文。SHA家族最常用的版本是SHA256,输出长度为256位。相比MD5的128位输出,SHA256更安全、碰撞概率更低。
二、SHA的主要应用场景
- 密码存储:虽然目前更推荐bcrypt、Argon2等专门为密码设计的算法,但SHA256配合加盐仍然是很多系统的选择。
- 文件完整性校验:很多开源软件、系统镜像会同时提供SHA256值,供你下载后校验文件是否被篡改。
- 数字签名:在SSL证书、代码签名中,SHA是核心组成部分。
- 区块链与加密货币:比特币的工作量证明和地址生成都用到了SHA256。
三、SHA-1还能用吗?
不建议再用。SHA-1已经在2017年被谷歌和微软联合宣布碰撞攻击可行,即可以找到两个不同内容但哈希值相同的文件。在安全性要求较高的场景下,请改用SHA256或SHA512。
四、使用一页共享生成SHA哈希值
当你需要快速计算一段文本或文件的SHA值时,打开一页共享的SHA加密工具,选择算法,工具支持SHA1、SHA256、SHA512。输入文本,可以单行也可以多行批量处理。点击生成,立即得到对应的哈希值,一键复制结果,方便粘贴到代码或文档中。

