最近我在设置密码时遇到了两个奇怪的错误消息,一个在Chipolte mobile ordering app上,另一个在金融服务门户上。在这两种情况下,我都被阻止设置密码,因为它包含非字母数字字符。金融服务网站也规定了我认为很奇怪的最大长度(没有超过8个字符的密码,seems extremely short sighted)。我想知道是否有防止某些字符的密码策略的安全理由。从密码中排除特殊字符是否有优势?
回答
有没有安全的理由。为了安全起见,允许更多字符总是更好,因为它增加了潜在组合的数量。
唯一的“理由”是短视或某种形式的存储或传输问题(这可以通过适当的编码来解决)。也许他们不知道如何做参数化查询,并担心用户尝试使用密码进行注入攻击?谁知道。无论如何,它们至少应该是腌制和散列,至少它确实能够解决大多数存储问题。
他们可能会试图确保用户不会写下他们的密码,而是选择那些“易于记忆”的密码,但这是反效果的:已经打算记下密码的用户仍然会蛮横强迫其他人的密码变得更容易了。
如果他们也试图对密码不区分大小写,并且这是某种选择的原因,那么我会在更多层面上更加担心。
这种类型的限制通常是因为后端的传统系统无法处理非字母数字字符,或者已经为数据库中的密码字符定义了短的最大字段宽度。
有时,对遗留应用程序进行更改可能非常具有挑战性(并非它本身很难,但通常不是IT优先级)。
我已经明确地看到它与SAP集成。
这可能是因为在您创建一个密码后检查密码是否正确时,它会将所有字符转换为它们的ASCII值,并且特殊字符不包含在编程范围内。至于只有8个字符时,他们的密码和用户名信息存储在他们的服务器上,它减少了占用的空间,真的不是很多,但它可能最终会超越。
所以优势在于节省空间和匹配效率? (在实际的安全当然代价) –
如果我让我的密码XxCruStYxX没有人会猜测,但我看到你的观点 –
哇,结果堆栈溢出有一个密码[隐藏功能](http://www.bash .org /?244321),在我的浏览器上,我所看到的是“如果我让我的密码'**********'没有人会猜测,但我看到你的观点”:) –
- 1. 从激活码中删除特殊字符是否安全
- 2. PHP:特殊字符密码
- 3. 巨蟒7Z密码有特殊字符
- 4. 有特殊字符Angular2密码验证
- 5. 验证密码字段是否包含特殊字符
- 6. Node.js加密密码特殊字符
- 7. 代码中间是否有优势?
- 8. 从twitter趋势中删除特殊字符
- 9. C#FtpWebRequest - 密码中的特殊字符“§”
- 10. MySql密码中的特殊字符
- 11. 密码中的mysql特殊字符
- 12. 名称验证是否可以排除某些特殊字符
- 13. 从Bash中的字符串中删除所有特殊字符
- 14. 从R中的字符串中删除所有特殊字符?
- 15. 在JSON响应中对HTML特殊字符进行编码的安全优势
- 16. 允许特殊字符输入密码
- 17. SpringSecurity密码验证(密码中的特殊字符)
- 18. 如何从REGEX中的捕获组中排除特殊字符?
- 19. 检查是否密码至少有两个不同的特殊字符
- 20. 从字符串中删除所有特殊字符java
- 21. 从URL中删除特殊字符
- 22. 从powershell中删除特殊字符
- 23. 从URL中删除特殊字符.htaccess
- 24. 从teradata coloumn中删除特殊字符
- 25. 从列表中删除特殊字符
- 26. 删除MySQL中所有特殊字符
- 27. 从Java连接时,DB2密码中的特殊字符?
- 28. 在索引字段上排序是否有优势
- 29. 为什么使用密码中的特殊字符被认为是强密码?
- 30. 测试密码在PowerShell脚本中有特殊字符
很难想象Chipotle拥有遗留系统。 – Alan
@Alan:谁知道?也许他们在后端使用了类似SAP的东西。也许V1的应用程序是由一些离岸网站编写的,只是没有做好工作。我见过两个。 –
您的SAP想法可能存在某些问题。 Chipotle和SAP都出现在今年早些时候的可持续品牌会议上(http://parkhowell.com/tag/chipotle) –