08-05 密码存储:别把用户密码明文放进仓库

08-05 密码存储 的底线是:服务器也不应该知道用户的原始密码。


一、它解决什么

它解决的是数据库泄露后的损失控制。密码不能明文存,也不该用普通加密存。

二、一个比喻

像保险柜不存真正钥匙,只存钥匙指纹。来人输入钥匙,你比对指纹是否一致。

三、放到系统里看

正确做法是使用带盐的慢哈希算法,如 bcrypt、scrypt、Argon2。登录时比对哈希。

四、常见坑 / 学习抓手

常见坑是用 MD5/SHA1 直接哈希,或自己发明算法。密码学不要自创土方。

一句话总结

密码要存哈希,不存明文;算法要成熟,不要自创。


关联笔记