强密码怎么设置:别再背大小写加符号,先算熵和破解时间

强密码怎么设置:别再背大小写加符号,先算熵和破解时间

「至少 8 位,包含大小写字母、数字和符号」——这条规则几乎人人都背过,但它既解释不了为什么 `P@ssw0rd1` 会被秒破,也解释不了为什么四个随机单词更难猜。密码强度不是「看起来复杂」,而是攻击者要试多少次。这篇用熵和破解时间算给你看,再给一套能落地的设置规则。

强度 = 攻击者要试的次数

密码的强度可以用熵衡量,单位是比特。粗略公式:熵 ≈ 长度 × log₂(字符集大小)。字符集越大、长度越长,熵越高;长度的影响是乘法,复杂度的提升则很有限。

密码形态字符集/组合数熵(约)离线暴力破解时间(10¹¹ 次/秒)
8 位小写字母(如 qwertyui)26⁸38 bit几分钟
8 位混合大小写+数字+符号(如 P@ssw0rd)95⁸52 bit几小时到几天
12 位随机混合字符95¹²79 bit数千年
4 个随机单词(如 correct-horse-battery-staple 简写)约 7776⁴约 51 bit数天(但抗字典攻击更强)
5 个随机单词约 7776⁵约 64 bit数百年

注意两个现实:一是真实攻击不是纯暴力,字典、规则变形、泄露库比对会先跑,所以 `P@ssw0rd` 这类「看起来复杂」的密码实际上排在字典前几位;二是离线破解速度取决于存储方式,同一个密码在 bcrypt/Argon2 下能撑几百年,在明文 MD5 库里可能几秒就破。你控制不了对方怎么存,只能把自己的密码做长。

强密码怎么设置:用熵值与破解时间估算判断密码强度
长度是乘法项,符号是加法项;先加长度,再谈复杂度。

三条比「复杂度」更重要的规则

  1. 每个账号唯一:撞库是现实中最主要的入侵方式。一个站泄露,密码复用的账号全部沦陷。这一条的价值高于任何复杂度技巧。
  2. 重要的账号用长密码 + 双因素:邮箱、银行、支付、主账号(Apple ID / Google / 微信)用 16 位以上随机密码,并开启验证器或 Passkey。开启方法见两步验证怎么开启。
  3. 不要定期硬换:现行 NIST 指南已不建议强制周期性更换,除非怀疑泄露。频繁换密码的副作用是人会选更弱、更有规律的密码。

按场景给配方

场景建议理由
密码管理器主密码5 个随机单词,或 20 位以上短语要手动输入、要记得住、要抗字典
邮箱 / 支付 / 主账号管理器生成 16~20 位随机字符不复用,泄露影响最大
普通网站管理器生成 12~16 位不用记,交给工具
设备解锁 / 开机密码6 位以上数字 + 生物识别受硬件限速保护,长度够即可
WiFi 密码12 位以上随机,或 4 词短语要方便家人输入,又要抗蹭网

随机短语怎么造?选 4~5 个互不相关的常用词,用连字符或空格连接,例如「蓝色-电梯-柠檬-尺子-雨天」。不要用歌词、名言、家人名字,也不要自己「想」随机——人对随机的直觉很差。

强密码怎么设置:用密码管理器生成并保存每个账号的唯一密码
唯一密码靠人脑记不住,这是密码管理器存在的意义。

四个常见误区

常见问题

密码越长越好,那 30 位是不是更安全?

安全性上是的,但超过一定长度后收益递减,真正的瓶颈变成「你怎么记住、怎么输入」。16~20 位随机密码配管理器,已经远超实际攻击成本。

密码管理器被攻破,不就全丢了吗?

主流管理器只存加密后的密文,主密码不落库。攻击者拿到库也要离线破解主密码,所以主密码要足够长。选型与风险边界见密码管理器哪个好用。

怎么知道自己的密码有没有泄露?

用邮箱查泄露库(如 Have I Been Pwned),查到就立刻改该站密码并检查登录记录。处理顺序见密码泄露了怎么办。

小结

强密码的公式是:长度优先 + 每站唯一 + 双因素兜底。人脑只负责记住一个足够长的主密码,其余交给密码管理器生成 16 位随机串。别再纠结大小写和符号,先把长度和唯一性做到位。

← 返回首页 更多「密码管理」