不少网站(包括 App)为了所谓的安全,需要用户提供符合一定规则的密码,随便列几个:

  • iCloud 至少 8 个字符,要包含大小写字母,至少有一个数字;
  • 12306 6-20 字符,必须且只能包含字母,数字,下划线中的两种或两种以上;
  • GoDaddy 至少 9 个字符,至少包括 1 个大写字母,小写字母和数字。

如果注册的账号比较多,那么就会有各种不同的密码,我比较懒,为不同网站尽量使用相同的密码(理论上降低了安全性低,但我不在乎这点安全性),但是由于部分网站的密码规则与其它网站是互斥的,所以还是需要 6 个密码来应对所有的网站。

就算只有 6 个密码,问题还是很严重,当某天打开某个不常用的网站,你完全不知道这个网站的密码是 6 个中的哪一个,所以需要一个一个试,这是很折磨人的,我有多次试不对然后重置密码的经历 😂。

有些人早就意识到这个问题,他们做了各种 密码管理工具,他们推荐你注册一个网站的时候把密码和网站的对应关系保存在他们的 密码管理工具 里,当你下次登陆这个网站的时候就可以去 密码管理工具 那查一下密码。但仔细一想就发现有问题,把所有密码都存在 密码管理工具 那里相当于把所有保险柜的钥匙都交给一个不认识的人管理,安全性问题是不言而喻的。

个人认为比简单的解决方案是:

  • 网站不加密码规则,至多有一个最低长度限制;
  • 网站不明文存储密码。

这样安全性级别的选择权就还给了用户,如果我觉得某些网站安全性对我不重要,我可以对这些网站设置一个相同的密码(这个密码可以很复杂),对某些特别重要的网站(如支付宝)我可以设置另一个不同密码。这样我只需要记住 2 个密码就可以了。