Security 密码必需的特殊字符与密码可选的特殊字符
当密码需要有特殊字符、大写字母和小写字母以及数字时,为什么会认为它更安全? 允许而不是要求这些字符不是更安全吗Security 密码必需的特殊字符与密码可选的特殊字符,security,passwords,password-protection,Security,Passwords,Password Protection,当密码需要有特殊字符、大写字母和小写字母以及数字时,为什么会认为它更安全? 允许而不是要求这些字符不是更安全吗 假设有人想要破解密码,如果他们已经知道该密码至少包含1个特殊字符、1个大小写字母和1个数字,这对他们来说不是更容易,因为这是必需的。如果密码是允许的而不是必需的,那么它就不可能包含这些字符了?它被认为是安全的,不会受到一些攻击,比如字典攻击。因为字典攻击来自具有常用词的单词列表。如果密码符合标准,最好在前端和后端使用这些规则进行验证 在开发中,您可以使用位于以下位置的OWASP ASV
假设有人想要破解密码,如果他们已经知道该密码至少包含1个特殊字符、1个大小写字母和1个数字,这对他们来说不是更容易,因为这是必需的。如果密码是允许的而不是必需的,那么它就不可能包含这些字符了?它被认为是安全的,不会受到一些攻击,比如字典攻击。因为字典攻击来自具有常用词的单词列表。如果密码符合标准,最好在前端和后端使用这些规则进行验证 在开发中,您可以使用位于以下位置的OWASP ASV: 有一个清单,如:
如果您遵循一些标准,如OWASP,那么保护您的身份验证将是一件好事。允许而不是要求这些字符会更安全吗? 是和否 否:正如弗朗西斯·阿尔·维多利亚诺(Francis Al-Victoriano)所说,它有助于反击字典攻击 是:在一个完美的世界里,除了密码不是空的以外,你不需要任何东西。这样,正如您所说,攻击者就不会知道密码可能包含什么,甚至不知道应该在多长时间内启动暴力 但是在这个完美的世界里,你的用户知道他们在做什么,他们知道什么是强密码,并且对每个应用程序都使用一个。不幸的是,在现实世界中,你永远不应该信任用户,因此你必须确保他们选择的密码不是“太弱” 那么,我们应该强制用户在其密码中包含多个字符集吗 有人说我们应该这样做,因为如果我们不这样做,用户会选择一个弱密码,比如字典中的单词 有人说我们不应该(喜欢),因为:
- 您对密码策略添加的限制越多,用户就越会对此感到恼火(他已经对必须使用密码的事实感到恼火),并且他会越试图绕过它,并且在这个过程中很可能会削弱他的密码(例如,您的超级复杂密码将以post结束,因为用户无法记住它)
- 说到旁路,典型的密码策略是最少8个字符,至少有一个大写、一个小写、一个数字和一个特殊字符P@ssw0rd,扰流板警报:否
- 它阻止用户选择密码短语
如果你投反对票,我将非常感谢你的评论,这样我可以改进我的答案。