Firebase用户注册时是否需要手动对密码执行hashing和salting?
关于Firebase Authentication密码处理机制的相关解答
密码哈希处理主体
- 开发者不需要提前手动对用户密码做哈希处理,直接将用户输入的明文密码通过Firebase Auth官方提供的注册方法(比如Web端的
createUserWithEmailAndPassword、Android端的createUserWithEmailAndPassword等)提交即可。 - Firebase Authentication的后端服务会自动完成密码的哈希运算,不会存储明文密码,也不会将明文密码在日志等非必要场景留存。
哈希与加盐的必要性
哈希与加盐是Firebase用户注册环节的强制必要操作,全程由Firebase官方自动实现,开发者无需额外介入。
- Firebase Auth采用加盐的scrypt算法对密码做单向哈希处理,每个用户的盐值唯一,避免彩虹表、撞库等攻击风险。
- 禁止开发者自行提前哈希密码再提交到Firebase:该操作不仅冗余,还会破坏Firebase自身的密码安全机制,同时会导致后续用户登录时的密码校验逻辑失效,除非你自行同步实现全链路的密码二次哈希逻辑,反而会额外引入安全风险。
内容的提问来源于stack exchange,提问作者user17278585
相关产品推荐
相关产品推荐

