aka*_*kai -1 security passwords hash
我读过这些:
...而且我仍然认为在客户端哈希您的密码会更好。让我解释。
引用的第一篇文章主张您应该使登录页面独立,因为无法信任客户端使用的整个代码库。我认为这是有道理的。
并且,如果有道理,您如何信任服务器端使用的整个代码库?
上面有很多如此高调的答案声称“由于TLS存在,所以不要在客户端进行哈希处理”。确实可以防止密码被窃听,但是与我们的潜在恶意服务器端代码无关。
另外,如果已经对密码进行了哈希处理,则服务器端也无理由对其进行哈希处理。如果您的服务器被破解,则无论密码如何,您都已经完成了,但是破解者无法在其他任何地方使用获得的密码。
但是,由于我找不到这样的答案,因此我的发言似乎从根本上是错误的。我想念什么?
如果您认为使用工作负载因子/迭代次数较高的现代密码哈希算法(例如PBKDF2,BCrypt,SCrypt或Argon2)对客户端和服务器端进行哈希运算效果更好,那么我同意。
如果您认为仅在客户端进行哈希处理更好,那么我对您的威胁模型持严重保留意见。
服务器端可以防止散列密码的威胁,而客户端可以防止哈希密码的威胁。这是一个简短的清单: