安全

如何设置强密码:长度、熵与密码管理器

“至少包含一个特殊字符”这类规则大家都很熟悉,但真正让密码变强的是随机性和长度。算一算就能清楚看出为什么有些密码很弱。

密码是如何被破解的

攻击者主要使用三种方法:撞库,即用从其他网站泄露的用户名和密码去尝试登录;字典攻击,即尝试常见密码和单词;以及暴力破解,即尝试所有组合。

现实中的大部分损失来自第一种。无论密码多复杂,只要重复使用,你用过的最薄弱的网站就可能让所有账户暴露。每个网站使用不同的密码,比密码强度更重要。

用熵衡量强度

随机生成的密码强度用熵的比特数衡量:长度 × log2(可选字符数)。每增加 1 比特,攻击者需要尝试的次数就翻一倍。

6 位数字 PIN 码约为 20 比特,只有一百万种可能,计算机瞬间就能试完。从 94 个可打印 ASCII 字符中随机选 12 个约为 79 比特,16 个随机小写字母约为 75 比特。

6 位数字              : 6 × log2(10)  ≈ 20 比特
16 个随机小写字母     : 16 × log2(26) ≈ 75 比特
从 94 种中随机选 12 个 : 12 × log2(94) ≈ 79 比特
16 个随机字母和数字   : 16 × log2(62) ≈ 95 比特

这些数字只在随机选择时成立。像 Password1! 或生日组合这样由人想出来的密码看似多变,却排在所有攻击字典的前列,实际熵几乎为零。

为什么长度胜过复杂度

如上表所示,增加长度比增加字符种类更能有效提高熵。美国国家标准与技术研究院(NIST)的数字身份指南(SP 800-63B)同样建议允许长密码,并与已泄露密码列表比对,而不是强制要求字符组合规则。

对于必须记住的密码,由 4 到 6 个互不相关的随机单词组成的密码短语效果很好。从 7,776 个单词的列表中随机选 6 个,约有 77 比特,同时依然好记。但单词必须通过骰子或生成器随机选取,而不是自己挑。

应避免的模式

这些模式都已写进破解规则,被攻破的速度远比看上去快。

  • 能在社交媒体上查到的姓名、生日、电话号码或车牌号。
  • 键盘连续按键,如 qwerty、1q2w3e4r 或 asdf。
  • 单词后面加数字或 !(例如 summer2026!)。
  • a→@、o→0 之类的替换,破解工具默认就会尝试。
  • 只改数字来轮换密码(pass01 → pass02)。

实际可行的方案:密码管理器与双重验证

没有人能为每个网站记住一个不同的 20 位随机密码。密码管理器是现实的解决方案:你只需记住一个强主密码短语,其余交给生成器创建和保存。

再加上双重验证——身份验证器应用、安全密钥或通行密钥——这样仅凭泄露的密码也无法登录。请优先保护你的邮箱账户,因为它是所有其他账户重置密码的通道。

密码生成器要检查什么

好的生成器使用操作系统提供的密码学安全随机数生成器。Math.random 这类通用函数是可预测的,不适合生成密码。

AIBIZAP 密码生成器可以选择长度和字符集。如果某个服务不允许特殊字符,就改为增加长度:16 个字母和数字已经约有 95 比特。对于 API 客户端 ID 和密钥这类机器用的机密信息,请使用客户端凭据生成器。

用这些工具试一试

更多指南

全部指南