为什么有些网站会阻止您在网站密码中使用非字母数字字符?

我今天login到一个网站,发现这个消息:

作为新安全系统升级的一部分,我们要求所有现有客户更改密码以加强对他们私人信息的保护。
我们build议使用一个很容易记住但很难让别人猜测的密码。 请注意新密码应该在8〜16个字符之间,特殊字符“”,“”,“;”,“|”,“?”,“<”,“>”,“^”,“ “,”:“,”=“和”#“是禁止的,谢谢您的理解和配合。

16个字符可能足够长,但是我没有看到长度限制的好理由。

对我来说更有趣的是不允许某些特殊字符。 虽然我听说其他只允许字母数字字符的网站,但这个scheme仍然有很多特殊字符。 为什么我的密码的内容对哈希algorithm有影响? 这只是一个散列,或散列的base-64编码,对吧?

  1. 这个政策是否危及我帐户的安全?
  2. 有没有一个特定的密码处理程序不能处理字符集',";|?<>^*:=#
  3. 我应该关心网站上其他地方的安全政策吗?

几乎可以肯定的是阻止人们在常规字段中embedded代码(一种SQL注入)。

因为他们做了一个糟糕的SQL注入预防工作。 我几乎可以理解,不允许“和”(你的等级从F到C),其他一切都很简单

我应该关心网站上其他地方的安全政策吗?

是的你应该。

因为如果他们能够知道密码中的字符,就意味着它以明文forms存储在数据库中。 这是BAAAD。