我知道密码应该在后端进行哈希/加盐处理,并且应该使用 HTTPS 进行传输。我担心的是,在帐户注册时,有一段代码可能会通过位置不当的日志语句暴露纯文本密码。
我知道多次对密码进行哈希处理并不理想,但为了解决这个问题(从安全治理的角度来看)在前端对密码进行哈希处理是否可以接受?
不,因为密码散列应该使用盐和合适的(慢速)散列算法,正确实现这一点,并且将来所有密码的双重散列将需要比在日志中屏蔽密码更多的工作。
如果您使用带有快速散列算法的无盐散列,则可以使用现代散列破解设备快速破解许多密码。
另请参阅在客户端哈希密码是否具有安全意义
是的,您应该在前端使用盐(例如用户名)对密码进行哈希处理,以防止后端明文滥用。此外,缓慢的哈希应该发生在前端,以迁移后端的计算负担。
您可以在后端结合盐和胡椒进行二次哈希。