使用Firebase Authentication开发带注册登录功能的网站时,用户密码是否已加密?
Firebase Authentication 密码加密机制说明
直接给明确结论:Firebase Authentication 在原生层面就完成了全链路的密码安全加密处理,你根本不需要自己额外写密码加密的逻辑,按你现在的架构设计走就行
- 密码落库环节的处理:Firebase 存储用户密码时,采用符合行业安全标准的不可逆加盐哈希算法,绝对不会以明文形式存到数据库里;整个存储链路没有任何路径可以逆向还原出用户设置的原始密码,哪怕是平台运维侧也拿不到明文密码,从机制上避免了密码泄露带来的连锁风险。
- 传输环节的加密:用户在前端输入密码发起注册、登录请求时,所有数据全程走TLS加密通道传输,不会在公网传输过程中以明文暴露;官方的前端SDK还会在本地对提交的密码做预处理,减少明文密码在前端代码运行时的暴露面。
- 对你当前架构的适配性:你设计的“Firestore仅存储姓名、邮箱这类可展示的非敏感用户信息、完全不存密码”的方案,本身就完全贴合Firebase Auth的安全最佳实践,不存在需要你补做密码加密的缺口。
几个容易搞混的注意点:
- 千万别觉得存加密后的密码更安全,就把密码相关的值往Firestore里塞,自行存储密码反而会额外引入不必要的泄露风险,完全没必要
- 不要试图通过平台接口拉取、导出用户的密码哈希值做二次使用,这类操作既不符合平台的安全使用规范,也没有对应的业务价值
内容的提问来源于stack exchange,提问作者JS3
相关产品推荐
相关产品推荐

