添加帐户时,如何强制执行密码规则,只有密码的哈希值?

When adding accounts, how to enforce password rules, having only the password's hash?

当客户端发送单向哈希时,如何在后端强制执行新的密码规则(例如“最少 12 个字符”)?如果我使用双向加密,客户端将需要密码,这似乎违背了目的。我正在使用加盐哈希以防有人拦截消息,但他们不能 拦截密码吗?这似乎是一个第 22 条军规。

...但我想不出更好的办法。我发送了一个一次性密码(我认为它在 SSL 上相当安全),然后在后端解密密码和 运行 我的支票。

专家是怎么处理的?提前致谢。

如果您使用 up2date 默认策略,TLS 是安全的。 以明文形式发送您的密码并在服务器上对其进行哈希处理不是问题。这实际上是大多数应用程序所做的,甚至是大型网站。

当在前端使用安全哈希算法(例如 argon2)时,您不能在后端强制执行密码规则。