当前位置:  开发笔记 > 编程语言 > 正文

密码中允许使用哪些字符的最佳规则是什么?

如何解决《密码中允许使用哪些字符的最佳规则是什么?》经验,为你挑选了2个好方法。

没有考虑它我只想说我应该允许每个角色.它在任何情况下都会被哈希,我不想限制想要创建强密码的人.

然而,考虑更多,有很多人物,我不知道他们对事物有什么影响.外来字符,ascii符号等等.

我试图谷歌,但我找不到任何人的确切标准.甚至大多数专业组织似乎都不知道.对于许多网站而言,完全不允许使用特殊字符似乎是一种常见做法,这只是愚蠢而不是我想做的事情.

无论如何,对长度,允许的角色等有任何标准建议吗?

我不确定它是否重要,但我将使用ASP.NET w/C#



1> Bill the Liz..:

密码中通常允许使用任何可打印的非空白ASCII字符(介于33​​和126之间).许多安全专业人员(和SO评论者)建议使用密码来代替密码,因此您必须允许空格.争论的焦点是由于它们的长度,并且因为短语不在字典中,所以密码短语比密码更难破解.(密码也可以更容易记住,因此合法用户不必将其记录在显示器右侧的便利贴上.)

一些强大的密码生成器使用散列,所以我对长度(512或1024)设置了非常高的限制,只是为了包容.今天的密码生成器通常会产生32-128个字符的字符串,但谁知道未来几年将使用什么样的哈希值.



2> Jon Skeet..:

当在有限的设备(手机,游戏机等)上输入密码时,非ASCII字符肯定会使事情变得更难 - 但通常并非不可能.可以说,如果用户想要这样做,你应该让他们.这很容易做一个合理和一致的事情 - 例如,在散列之前用UTF-8编码.如果某些输入设备将字符作为一个组合发送(例如e +急性重音而非"急性"),你只会遇到困难 - 但我怀疑在现实生活中不会发生这种情况.(你可以自己分解一切,但要找到边缘案例会有很多麻烦.)

但是,我将它限制为可打印字符.将标签,表格输入等放入密码确实在寻找麻烦.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有