一 密码泄露的途径和场景
1. 暴力破解
生成随机码方式破解密码
2. 传输劫取
中间人攻击,传输过程中密码被获取
3. 脱库
数据库中数据泄露
二 防止密码被攻破
1. 严禁使用明文存储
2. 不可逆算法
MD5 sha hmac等
3. 安全机制,防止暴力破解(防止暴力破解)
比如验证码,或几次密码错误账号锁定
4. 要复杂,加盐(防止脱库)
盐:没有固定规律的随机字符串,盐越长越复杂,密码越安全,盐进行持久化保存
例如:
f()为某种加密算法
密文=f(明文密码) --> 密文=f(明文密码+盐) --> 密文=f(明文密码+盐+账号相关信息)
5. 客户端加传输过程加密(防止传输劫取)
传输过程例如https/tls
三 常用加密算法
1. 不可逆加密
常应用于用户密码
<