Article

密码怎么设才安全:长度、熵与五个最常见的错误

作者:VillaB · 发布:2026-06-20 · 更新:2026-06-20 · 分类:工具教程

先纠正一个直觉:复杂度不等于安全

大多数人设密码的直觉是「加符号、加数字、大小写混着来」。但如果你算一下熵,会发现这个直觉产生的收益远小于预期。

熵的定义是 log2(可能的组合数),对随机密码就是:

熵(bit) = 长度 × log2(字符集大小)

对比两组:

密码 长度 字符集 熵
P@ssw0rd! 9 约 88 ≈58 bit(但它是字典词变体,实际远低于此)
k7#mQ2vXr9pLw4Tz 16 约 88 ≈103 bit

长度每加 1 位,熵增加约 6.5 bit(88 字符集)。而把字符集从 62 扩到 88,只增加约 0.5 bit/位。所以:加长度永远比加符号划算。

更关键的是,P@ssw0rd! 这类「字典词 + 常见替换规则」在攻击者的规则库里是第一批被穷举的。它的真实破解成本可能只有几十 bit 的水平。

错误一:所有网站用同一个密码

这是危害最大的一条。任何一个站点被拖库,攻击者立刻拿邮箱 + 密码去撞其它几百个站点(撞库),成功率极高——因为大量用户复用密码。

正确做法是账户分级:

等级 包含 密码策略
核心 邮箱、网银、云服务主账号、域名/服务器 16 位以上随机,独立、不重复,开双因素
重要 社交媒体、公司系统、支付类 App 14 位以上随机,独立
一般 论坛、试用站、下载站 12 位随机,可交给浏览器生成

错误二:靠记忆管理所有密码

人脑能长期记住的高熵随机串,实际上只有 1~2 个。要求「每个站不同 + 都够强 + 全记住」是自相矛盾的。

现实只有三条路:密码管理器(推荐)、浏览器密码库(够用)、纸质本(放家里,别拍照存手机)。密码管理器只需要记一个强主密码,其余全部由它生成和填充。

错误三:把「看起来随机」当成随机

常见的伪强密码模式:

  • 键盘轨迹:qwerty123、1qaz2wsx、zxcvbnm
  • 常见替换:P@ssw0rd、Adm1n@123
  • 个人信息:姓名拼音 + 生日、手机号后六位、+ 2026
  • 统一后缀:mypass-baidu、mypass-taobao

判断标准很简单:如果它出现在任何词表、规则或你能一句话描述出来的模式里,它就不是随机密码。

错误四:忽略「离线爆破」这个场景

很多人以为网站有登录失败锁定就安全了,那是「在线爆破」。真正的风险是离线爆破:数据库被拖走后,攻击者在本地用 GPU 无限制地试。

这时密码哈希算法很重要:

  • 用 MD5/SHA1 存的站点,弱密码瞬间被破
  • 用 bcrypt/argon2/scrypt(有工作因子)的站点,攻击成本被放大成千上万倍

作为用户你能做的:别在重要账户上用弱密码,因为你无法控制对方用什么哈希。

错误五:把 2FA 当作可选项

双因素认证(2FA/TOTP)能让「密码泄露」不等于「账户丢失」。优先级:

  1. 硬件密钥 / Passkey(最强,防钓鱼)
  2. TOTP 验证器 App(推荐,离线可用)
  3. 短信验证码(有 SIM 劫持风险,但比没有强太多)

至少给邮箱和主账号开上 TOTP。

可执行的清单

  • [ ] 邮箱密码换成 16 位随机串 + 开 TOTP
  • [ ] 装一个密码管理器,把重要账号批量迁移进去
  • [ ] 每个站的密码必须唯一(核心账户绝对唯一)
  • [ ] 关掉「用短信找回密码」这种弱恢复方式,或至少加上二级验证
  • [ ] 定期检查 https://haveibeenpwned.com 看邮箱是否在泄露库里

用工具快速生成

打开 随机密码生成器,长度拉到 16,勾选大小写 + 数字 + 符号,勾选「排除易混淆字符」,一次生成 3 条挑一条用。生成结果只在你浏览器里,不上传。

需要统计密码或密钥长度、字节数时,可以用 文本字数统计 看 UTF-8 体积。

返回文章列表