什么是 SHA-1?
SHA-1(安全散列算法 1)是一种加密散列函数,产生 160 位(20 字节)的散列值,通常呈现为 40 个字符的十六进制数。它由 NSA 设计并于 1995 年由 NIST 作为数字签名标准的一部分发布。
主要特征:
- 确定性:相同的输入总是产生相同的散列
- 快速计算:对于任何给定输入都能快速计算
- 雪崩效应:输入的微小变化会产生截然不同的输出
- 不可逆:从散列反推原始输入在计算上是不可行的
- 碰撞脆弱性:已知漏洞使得找到碰撞成为可能
安全状态: ⚠️ SHA-1 在密码学上已被破解,不应用于安全关键应用。理论攻击在 2005 年得到证明,实际碰撞攻击在 2017 年实现。
常见用途(历史):
- 数字签名和证书(已弃用)
- Git 版本控制系统(为了兼容性)
- 需要 SHA-1 的遗留系统
- 文件完整性验证(非安全关键)
- 工作量证明算法(一些较老的加密货币)
推荐替代方案:
- 新应用使用 SHA-256 或 SHA-3
- 高安全要求使用 SHA-512