使用登录系统 - 客户选择密码进行站点访问的点。限制用户密码字符集
除了使用RegEx确保密码足够强大之外,通常在我们的系统上,所有将在数据库中结束的数据都会针对注入进行检查等,并在所有字段上强制执行合理的限制字符集。我并不想为密码设置一个特别限制的字符集,因为我认为这太过于控制它的安全性。
在密码的情况下不过,我会用盐腌SHA-512散列反正它插入其中提出的问题了一把:
是否有任何一点在任何限制的字符设置客户可以在密码中使用 - 也就是说,我是否暴露了任何我认为会被哈希完全绕过的注入之外的漏洞?
必须有一个否定的允许所有的方法 - 我能想到的事实是,在未来什么是无辜的组合现在可能会变成一个危险的组合 - 是一个真正的关注,并有其他人我可能错过了?
是否有任何必须被拒绝的字符/字符串 - 他们会通过本机ASP.NET保护吗?
可能有点更主观,但鉴于它是一个SHA-512散列 - 有没有限制用户可以选择的密码的最大长度(在合理的参数范围内),假设密码的大小/复杂性可能会引发警告,确认他们确实想要设置它。
感谢您的帮助。
编辑:这是一个ASP.NET Web应用程序使用ADO.NET(而不是LINQ/EF)访问MSSQL2008数据库。
谢谢 - +1引起我的注意国际字符。 – Chris 2009-11-30 20:40:24