08-05 密码存储:别把用户密码明文放进仓库
08-05 密码存储 的底线是:服务器也不应该知道用户的原始密码。
一、它解决什么
它解决的是数据库泄露后的损失控制。密码不能明文存,也不该用普通加密存。
二、一个比喻
像保险柜不存真正钥匙,只存钥匙指纹。来人输入钥匙,你比对指纹是否一致。
三、放到系统里看
正确做法是使用带盐的慢哈希算法,如 bcrypt、scrypt、Argon2。登录时比对哈希。
四、常见坑 / 学习抓手
常见坑是用 MD5/SHA1 直接哈希,或自己发明算法。密码学不要自创土方。
一句话总结
密码要存哈希,不存明文;算法要成熟,不要自创。