首先让我。说最小长度,区分大小写以及所需特殊字符等细节应该取决于谁有权访问以及密码允许他们做什么,如果是启动核导弹的代码,那么它应该比密码更严格以便登录发挥你付费的在线版愤怒的小鸟
但我有一个SPE CIFIC牛肉与大小写敏感。
对于初学者,用户讨厌它。人脑认为“A = a”。当然,开发人员的脑子通常并不典型。 ;-)但是开发人员也会因区分大小写而感到不便。
其次,CapsLock键太容易被误操作。它正好在Tab和Shift键之间,但它应该高于Esc键。它的位置早在打字机的日子就建立起来了,它没有备用字体。在那些日子里,有它在那里是有用的。
所有密码都有风险...您将风险与易用性平衡,是的,可用性很重要。
我的理论: 是的,区分大小写对给定的密码长度更安全。但除非有人让我这样做,否则我会选择更长的密码长度。即使我们假定只允许字母和数字,每个添加的字符都会将可能的密码的数量乘以36.
有些人比我数学懒惰可以告诉您组合之间的组合数量的差异,例如最少8 - 特征区分大小写密码,以及12个字符的不区分大小写的密码。我认为大多数用户会喜欢后者。另外,并非所有应用都向其他用户提供用户名,所以黑客有可能需要找到两个字段。
我也喜欢,允许在密码空间,只要广大的密码是不空格。
在我正在开发的项目中,我的管理屏幕允许管理员更改适用于所有未来密码的密码要求。他还可以强制所有用户在下次登录后随时更新密码(以满足新的要求)。我这样做是因为我觉得我的东西不需要区分大小写,但管理员(可能为我支付软件费用)可能不同意,所以我让这个人决定。
我的银行卡的PIN只有4个数字。由于它只是数字,因此不区分大小写。而且,这是我的钱!如果你不考虑其他什么,这听起来很不安全,是不是因为黑客必须偷我的卡才能拿到我的钱。 (并且拍下他的照片。)
另一个牛肉:开发人员来到StackOverflow并反刍他们在某篇文章中读到的硬性规则。 “从不硬编码任何东西。” (好像这是可能的。)“所有查询都必须参数化”(如果用户不参与查询)。等等。
请原谅咆哮。 ;-)我保证我尊重分歧。
I *允许密码讨厌*最大密码长度。 GRRRR! – Dana 2009-01-19 13:13:44