数据库存储密码方式有哪些?明文密码是否安全?
密码存储方案对比
存储方式 | 安全性 | 实现示例 |
---|---|---|
明文存储 | ❌ 高危 | 密码 = "123456" |
MD5哈希 | ⚠️ 弱 | MD5("密码+salt") |
SHA-256 | ✅ 中 | hash("sha256", $password) |
Bcrypt | ★★★★ 强 | password_hash($pwd, PASSWORD_BCRYPT) |
Argon2 | ★★★★★ 最强 | password_hash($pwd, PASSWORD_ARGON2I) |
安全实践
- 绝对禁止明文存储
- 使用现代哈希算法(如Bcrypt)
- 加盐处理(Salt)防止彩虹表攻击
php
$hashedPassword = password_hash($password . $uniqueSalt, PASSWORD_BCRYPT);
- 定期审计数据库中的密码存储方式
更新时间:2025-06-02 15:11:35