假设的情况:您已经实现了密码处理系统,并且对可以使用的字符完全没有任何限制。您想建立一些在两件事之间做出合理折衷的规则-
您会施加什么规则?还有其他因素可能会影响您的选择吗?
最佳答案
最好是没有任何限制,除非您能真正证明它们的合理性。
如果您是银行,电子邮件提供商,或者如果用户可以在不提供信用卡的情况下订购商品,那么强制用户使用强密码就可以了。否则,您就是无缘无故地变得很难。
至于您应该存储的内容,我想说有1024个Unicode字符(禁止使用控制字符)是合理的。如果用户无法输入密码,则应该选择其他密码。您存储的只是一个哈希,因此您始终可以将其缩减为所需的大小。
关于security - 您将使哪些字符对密码无效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1524330/