在日常生活中,我们不仅需要记忆6位数字的银行卡密码,还需要记忆各式各样网站和应用的账号密码,可能我们自己也不记得曾经注册过多少个账号。账号和密码如此繁多,管理这些账号和密码,也是一个让人头疼的问题。

最原始的方法是将密码写纸上,放在一个安全的地方,但纸张存在丢失、损坏的风险,而且不方便存取。

改进版则是将纸张电子化,如 Excel,并辅以云盘实现多端同步,这样虽然存取便利性上有一定的改善,但安全性却降低了很多,如果云盘没有历史版本功能,在编辑时稍有失误,可能导致密码全部丢失,另外如果云盘密码泄露、电脑中毒或系统损坏,也可能导致密码泄露或丢失。如果某一天云盘软件突然倒闭了,该怎么办呢?

目前已经有很多账号密码管理软件,来帮助人们管理账号和密码,如 1Password、KeePass 等,但它们也或多或少存在一些缺陷:

  • 对系统和平台(Windows、Linux、macOS、安卓、iOS等)支持完善的工具大多需要收费,而且费用不便宜;免费的工具通常对系统和平台的支持不够完善,也不好用。
  • 在多端同步方面,收费软件通常支持云端同步,但这样将账号密码存储在他人服务器总归不放心;免费软件通常不支持云端不同,需要自己使用云盘来同步,操作麻烦。
  • 软件可能存在后门,导致账号密码泄露。
  • 软件可能随时停止运营或无法打开。

综上所述,我认为只有记在大脑中的密码才是最安全和方便的。那么,对于大多数没有什么密码学基础的普通人来说,如何形成一套自己的个人账号密码设置体系呢?

账号密码体系由账号和密码二者构成,一一对应,需要明确的是,我们可能忘记密码,同样我们也可能忘记账号,因此账号和密码同样重要。

1. 账号

根据使用场景(国内、网站)和系统注册要求的不同,通常需要准备如下类型的账号。

1.1 手机号码

现在基本每个人都有手机号码,而且国内手机号都已实名认证,注册国内网站、应用时优先使用手机号码进行注册,如果支持短信验证码登录,则优先使用短信验证码登录。

1.2 电子邮件

需要准备国内和国外两个电子邮件,分别用于注册国内、外的网站和应用。因为国外平台可能不支持国内的邮件服务商,而如果使用国外邮件服务注册国内平台,又可能导致邮件收取缓慢或无法收取,因此建议根据国内外应用分别使用不同的国内外邮件服务。

国内邮件服务推荐:

  • 163
  • QQ

国外邮件服务推荐:

  • Gmail
  • Outlook

不建议使用小众邮箱,这些邮箱可能随时因为公司经营不善而倒闭或停止服务。

1.3 英文数字账号

有的网站支持使用“英文+数字”形式的账号进行注册(当然后期可能因为账号安全性,要求绑定手机号或邮箱),建议使用统一的、不暴露隐私的英文数字账号。

不建议在账号中使用中文、下划线、横线,因为虽然有些的网站支持这些特殊字符,但无法保证所有网站都支持这些字符。

1.4 隐私性

在注册国内网站/应用时,不需要纠结使用国内手机号、邮箱的隐私性,因为根据国内目前的政策和现状,国内网站和应用基本没有隐私性可言。

2. 密码

最安全的密码方案肯定是不同的网站和应用使用不同的随机字符串作为密码,但是这样不方便记忆,而且大多数情况下也不需要这么高强度的安全性。

下面是一种折中的密码生成方案,生成的密码可以符合绝大多数应用的要求,该方案可以在保证密码安全的前提下,方便记忆,如下图所示:

该方案还有很多可改进之处,例如应用名称也可以通过某种固定规则来缩写等。

固定前缀和特殊字符后缀需要根据自己喜好来设定,如固定字符前缀为“he”,特殊字符后缀为“?”。

混淆码则根据应用名称缩写长度(补零之前的长度)的不同而不同,需要自己定义一套规则,如:

长度 混淆码
1 ~ 2 1111
3 ~ 4 2222
5 ~ 7 3333
8 ~ 10 4444
10 以上 5555

上表仅用作示例,抛砖引玉。

根据上述示例规则,下面列举几个网站的密码示例。

1
2
3
4
5
6
7
8
知乎
heZ00H1111?

今日头条
heJrtT2222?

Chrome
heChromE3333?

3. 不重要的账号密码

为了防止账号和密码泄露,从而被他人猜测出密码的生成规则,因此在注册小型、非正规、不重要的网站和应用时,建议使用一个专门的账号和密码,即便密码泄露也无关紧要。