密码的竞争格局
回答
a-ZA-Z0-9过度受限。你应该让我使用任何字符,执行最低要求(即至少8个字符,至少一个字母和一个数字)
至少有一个标点符号!但+1。 – 2012-01-05 16:38:10
@Iarsmans我通常会包括一个标点符号要求,是的,但是如果他提出的是对客户来说可能过于严格的-ZA-Z0-9。 – ceejayoz 2012-01-05 16:42:28
我不知道'a-Z'是否按预期工作:) – 2012-01-05 16:46:50
应该有任何限制,用户应该能够使用什么。由于在存储密码之前你会对密码进行哈希(我希望),这对密码包含的内容没有任何影响。
如果您设置了要求,它们应该是最低要求。
最少8个字符,优选12
至少一个数位,至少一个下壳体,至少一个上的情况下,至少一个符号(* /%...)
我不认为这些可以被视为全球要求。不同的用例需要不同的最低要求。 – ceejayoz 2012-01-05 16:43:14
密码正则表达式模式
((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
击穿
( # Start of group
(?=.*\d) # must contains one digit from 0-9
(?=.*[a-z]) # must contains one lowercase characters
(?=.*[A-Z]) # must contains one uppercase characters
(?=.*[@#$%]) # must contains one special symbols in the list "@#$%"
. # match anything with previous condition checking
{6,20} # length at least 6 characters and maximum of 20
) # End of group
相关:
永远不要强制执行最大密码长度。 – ceejayoz 2012-01-05 16:47:40
这只是一个例子,可以做什么 – 2012-01-05 16:48:32
密码熵
一个好的密码的测试是不是字符集的代表,但熵数量。
熵测试: Dropbox的人已经把这个神奇的工具称为zxcvbn做到这一点。我会强烈推荐阅读他们的write-up explaining it here。
简要说明:因为他们一起提高密码的熵(长度做到这一点远比虽然字符类更快),但用户则倾向于两个字符类(小写,大写字母,数字和特殊字符)和长度都很重要朝向降低熵的可预测模式。
这可能是幽默,但它有益说明了这一点的一部分: http://xkcd.com/936/
我觉得我最近在博客上看到过这个......最近lol :) – Skuld 2012-01-05 17:11:04
- 1. 密码文本程序:编码竞争
- 2. 竞争编码算法
- 3. 竞争条件
- 4. 竞争条件
- 5. 竞争条件
- 6. 竞争条件
- 7. 竞争条件
- 8. 竞争条件
- 9. JSON没有给我竞争的格式,
- 10. 竞争对手的asp.net会员资格?
- 11. 的竞争条件
- 12. 连续代码中的数据竞争
- 13. 竞争消费者
- 14. ASP.NET竞争条件
- 15. 什么是竞争?
- 16. NSNotification竞争条件
- 17. OpenMP竞争状态?
- 18. WKWatchConnectivityRefreshBackgroundTask与WCSessionDelegate竞争
- 19. Process.HasExited竞争条件
- 20. find_or_create竞争条件
- 21. 这段代码有竞争条件吗?
- 22. 多线程(并行线程)竞争码
- 23. 代码会产生竞争状态吗?
- 24. 数据竞争示例和数据竞争检测示例
- 25. Stata竞争风险消退 - stset和竞争失败
- 26. 如何从div竞争中删除竞争?
- 27. cque任务线程与竞争竞争条件
- 28. 可能的竞争条件
- 29. 的Javascript AJAX竞争条件
- 30. xv6中的竞争条件
**没关系,误解的问题** - 什么是密码?你期望什么类型的用户?应该设置密码要求以最好地为使用密码的人提供服务。我期望一个网上银行的网站比我的论坛,例如更高的限制。 – Hecksa 2012-01-05 16:38:21
我希望能够使用一个密码,比如'EA @#@#Σåß∂'! - 不要把它标记为不安全的,因为它没有一个' - ZA-Z0-9'。 – 2012-01-05 16:41:56
在正则表达式,行话说到:''/^[A-ZA-Z] [A-ZA-Z0-9 _ @#$%^&*()。] {10,25} $ /''你可以让你的用户创建一个以字母开头的密码,然后是一些可接受的字符,然后请求至少10个字符和最多25个字符 – Nonym 2012-01-05 16:44:52