文章目录
一、密码安全基础概念
1.1 为什么需要密码加密
在日常开发中,我们经常需要处理用户密码。想象一下,如果你把用户的密码像"123456"这样直接存到数据库里,一旦数据库泄露,黑客就能直接看到所有用户的密码,这就像把家门钥匙挂在门把手上一样危险。
密码加密的核心原则:
- 绝对不能存储明文密码
- 相同的密码应该产生不同的加密结果
- 加密过程应该足够慢以防止暴力破解
1.2 常见密码攻击方式
攻击类型 | 描述 | 防御措施 |
---|---|---|
彩虹表攻击 | 使用预先计算的哈希值反向查找密码 | 加盐(salt) |
暴力破解 | 尝试所有可能的密码组合 | 慢哈希算法、账户锁定 |
字典攻击 | 使用常见密码列表尝试 | 密码复杂度要求 |
中间人攻击 | 截获传输中的密码 | HTTPS加密 |