如果你还在用SHA-1,不管是校验文件还是做数字签名,建议赶紧换掉。2017年谷歌就已经宣布SHA-1被攻破了。
一、SHA-1是什么?
SHA-1是早期常用的哈希算法,输出40位字符。很多老网站、老软件还在用它。
二、什么叫“被攻破”?
2017年,谷歌和CWI研究所成功制造了两个不同的PDF文件,但它们的SHA-1值完全一样。这就是“碰撞攻击”。就像两个人指纹一模一样,指纹认证就失效了。
三、这意味着什么?
攻击者可以把一个正常文件替换成恶意文件,但SHA-1值看起来没变。如果你用SHA-1来验签,就会被骗过。
四、哪些场景受影响?
SSL证书:浏览器会提示不安全
软件签名:系统可能不信任
Git代码仓库:Git已经放弃SHA-1
文件校验:容易被伪造
五、现在该用什么?
SHA-256是目前最稳妥的选择。大公司早就换了:
Chrome浏览器标记SHA-1证书为不安全
Windows不再接受SHA-1签名
NIST(美国国家标准与技术研究院)要求政府机构停用SHA-1
六、怎么查自己在用SHA-1?
查看证书详情或代码签名算法,如果显示SHA-1,抓紧时间升级工具链,换成SHA-256。

