🍋
Menu
Security

Password Hashing

密码哈希(安全凭证存储)

将明文密码转换为固定长度、不可逆的哈希值以供存储的过程,确保即使数据库被泄露,原始密码也无法被轻易恢复。

技术细节

密码哈希算法必须刻意设计为缓慢,以抵抗暴力破解攻击:bcrypt(1999 年,可调工作因子,184 位输出)、scrypt(2009 年,内存密集型,抵抗 GPU 攻击)和 Argon2(2015 年,密码哈希竞赛获胜者,可配置时间/内存/并行度)。每个密码在哈希前与唯一的随机盐值组合,以防止彩虹表攻击。Pepper(服务端密钥)提供额外保护。原始密码学哈希(SHA-256)不适用,因为它们设计为快速执行,使 GPU 每秒可进行数十亿次猜测。OWASP 推荐 Argon2id 作为首选。

示例

```
Password hashing comparison:

  bcrypt:  $2b$12$salt22chars..hash31chars..
           Cost factor 12 → ~250ms per hash

  argon2id: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
            Memory: 64MB, Iterations: 3, Parallelism: 4

  Never use: MD5, SHA-256 alone (too fast → brute-forceable)
```

相关工具

相关术语