假设的情况:您已经实现了密码处理系统,并且对可以使用的字符完全没有任何限制。您想建立一些在两件事之间做出合理折衷的规则-

  • 允许用户尽可能多的自由。
  • 考虑到将来可能会更改密码处理方式的可能性-您不希望排除合理的实现方式,因为用户的现有密码将变得无效。

  • 您会施加什么规则?还有其他因素可能会影响您的选择吗?

    最佳答案

    最好是没有任何限制,除非您能真正证明它们的合理性。

    如果您是银行,电子邮件提供商,或者如果用户可以在不提供信用卡的情况下订购商品,那么强制用户使用强密码就可以了。否则,您就是无缘无故地变得很难。

    至于您应该存储的内容,我想说有1024个Unicode字符(禁止使用控制字符)是合理的。如果用户无法输入密码,则应该选择其他密码。您存储的只是一个哈希,因此您始终可以将其缩减为所需的大小。

    关于security - 您将使哪些字符对密码无效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1524330/

    10-12 04:01