如何管理好自己的密码?

二〇一一年十二月二十八日就评论中的呻吟作出更新:
  • 觉得复杂就别用
  • 觉 得 复 杂 就 别 用
  • 觉。得。复。杂。就。别。用。
  • 长度很重要,八位不够。我知道你数学好,会算排列组合有多少,但世界上的彩虹表是在不断增长的。
  • 最简单的脑兼容算法如下:
  1. 四个词和一个数字用hyphen连起来,第一个单词全大写
  2. 没有第二步了。
  • 例子:
    • CORRECT-horse-battery-staple-4
    • I-can-remember-this-I-must-be-god-3
    • NI-ta-ma-de-cai-che-dan-9
  • 这种办法的安全程度和下文提供的方法并无太多实际差别[a],但是更好记也更易于输入。额外的数字和大写是为了满足某些网站的密码组合要求。
  • 但是碰到限制密码长度的二逼网站你就没辙了,虽然这样的网站其实不注册也罢。
  • [a] security.stackexchange.com

    原文:

    提醒各位如果要采取 Rio 的办法,必须有 all or none 的决心。最好只用 Mac,只用固定的几台电脑。对于不能全情投入的非 geek 或不可知论者(读作“非苹果教徒”),我来介绍一种比较人性化的三层密码体系:
    1. 核心密码。对我来说这包括邮箱,银行,PayPal,VPS。每个都不一样,共同点是至少十六位,有数字、大小写字母和特殊符号,与自己的任何实际信息都无关,至少半年换一次。建议采取特定的脑兼容算法来生成它,比如我曾经使用的算法是:
      1. 取一个八字母的英文单词,比如 insanity
      2. 将第一次出现的 S A E I O 替换为 $ 4 3 1 0,比如 insanity 变为 1n$4nity [1]
      3. 将最后一个不是数字的英文字母变为大写,比如 1n$4nity 变为 1n$4nitY
      4. 将这个英文单词映射为手机按键,比如 insanity 映射为 46726489
      5. 将第 4 步得到的数字接在第 3 部后面,最后得到 1n$4nitY46726489
    2. 一般密码。对我来说这包括各种 IM 和比较重要的社交站。采用核心密码算法的简化版本。可以用一个单词加上该服务的域名或服务商,套用算法的前三步,比如 QQ 就是 1n$4nitYt3ncenT (pun intended)。
    3. 可弃密码。比如注册各种需要登录才能下载或者阅读的论坛,就是一个弱口令,万年不换。这里重要的是用户名最好与上述两层级都不同。如果这个服务用过一段时间之后觉得不错,重新注册一个帐号,升级为一般密码。
    我倾向于把密码的词汇和算法用隐语方式写在实体记事本和一个文本文件放在邮箱(现在是dropbox)里,比如有一阵子我用 Pi 做密码,就写“山巅一寺,一壶酒”,算法只写关键字,比如“ l33T 接 t9 映射”。重要的是写下密码的更改日期,自己有个查对,而且 Google 找回密码时会问到(还会问到比如常用的几个 tag 之类)。解读的方法我会写在遗嘱里(我每年都写遗嘱。如果你想尝试,记得旧版本一定要毁掉)。

    [1] 参见 en.wikipedia.org/wiki/L 。采用 SAEIO 几个字母是因为它们的频率高,变种还包括
    • i - !
    • t - 7
    • s - 5
    • u - 1_1
    等。
    原发布于 https://www.zhihu.com/question/19695004/answer/12976049