密码生成器
在浏览器里生成随机强密码与易记短语。免费,不用注册。
熵 103.6 bit · 平均猜中需要: 比宇宙年龄还长 (假设每秒 10 万次尝试 —— 针对 bcrypt、Argon2 这类慢哈希的离线爆破)
多强才算够强
强度通常被画成一根彩色的条,但没人说清那是什么意思。真正有意义的量是熵,单位 bit:它是「生成器可能产出的等概率密码总数」取以 2 为底的对数。每多一 bit,可能性就翻一倍。
一个由大小写字母、数字和符号组成的 16 位密码约 103 bit;从 7776 词的词表里抽 5 个词组成的短语约 65 bit。两者都远超今天任何攻击者能穷举的范围 —— 它们之间的差距,远不如「它们」与「你自己想出来的密码」之间的差距重要。
这正是多数建议讲错的地方:强度不来自「看起来随机」,而来自确实是随机的。生成器均匀抽取,熵这个数字才有意义。
为什么我们把假设也写出来
很多密码工具会告诉你「需要 113 年才能破解」。单独看,这个数字几乎没有意义 —— 它完全取决于攻击者每秒能试多少次,而这个速率会因为「你注册的那个网站怎么存密码」相差好几个数量级。
所以我们把假设和结果一起给出。平均而言攻击者需要约 2^(H−1) 次尝试(H 是熵,单位 bit),平均耗时就是它除以每秒尝试次数:
- 有速率限制的在线登录接口:顶多每秒上千次。几乎任何生成出来的密码在这里都遥不可及。
- 针对慢哈希的离线爆破(bcrypt、scrypt、Argon2):每秒十万次量级。生成器上方显示的就是这一档。
- 针对快哈希的离线爆破(未加盐的 SHA-1 之类):每秒万亿次以上。低于约 70 bit 的密码在这里就不太够看了。
但这些模型都没有覆盖密码实际最常见的丢失方式:钓鱼、你自己电脑上的恶意软件,以及保存了密码的那家服务被拖库。强密码防的是「猜」,防不了「被交出去」。
长度比复杂度更管用
在 94 个可选字符的前提下,密码每多一位,搜索空间就乘以 94,约合 6.5 bit;而多打开一整类字符,增加的远不到这个数。如果要在「更长」和「更花哨」之间选,永远选更长。
短语能成立也是同一个道理。「correct horse battery staple」看着简单,但只要每个词都是从 7776 个词里随机抽的,这个短语就在做真正的密码学工作 —— 而且你还记得住。
三个可以放弃的习惯
- 把 a 换成 @、把 e 换成 3
- 破解工具自动套用这些替换已经几十年了。P@ssw0rd 并不比 password 更难猜 —— 它在每一份字典里。
- 每 90 天换一次密码
- NIST 已在 SP 800-63B 中撤回了这条建议。强制轮换只会把人推向可预测的模式(Spring2026!、Summer2026!)。有理由怀疑泄露时才改,而不是按日历改。
- 一个强密码到处用
- 重复使用的强密码,安全程度只等于保管它的那些网站里最不上心的那一家。那家被拖库之后,攻击者会拿这套凭据去别处登录 —— 这才是「撞库」的含义。
常见问题
这个密码生成器免费吗?
完全免费,也不需要注册。它就是个工具页,想用多少次都行。
该选多长?
16 位、四类字符全开是个不错的默认值,生成器一进来就是这个设置。既然由密码管理器代劳输入,再长一些也没有额外成本。低于 12 位就要留心了。
该用随机密码还是易记短语?
凡是有东西替你记住的地方(绝大多数场景)就用随机密码;只有那几个必须靠脑子记的口令 —— 比如密码管理器的主密码、设备开机密码 —— 才需要用短语。
熵这个数字是什么意思?
它是「在你当前设置下,生成器可能产出的等概率密码总数」取以 2 为底的对数。每多一 bit,可能性翻一倍。这个数字是按你选的设置实时算出来的,不是查表得来的。
为什么短语里有的词带连字符?
短语模式用的是 EFF Large Wordlist,它的 7776 个词里有少数几个本身带连字符,比如 t-shirt。保留它们是因为删掉会改变词表大小,进而让熵值失真。如果你选连字符作分隔符,词的边界会不好辨认 —— 工具会提示你这一点。
生成的密码可以随便用吗?
可以。这里生成的东西和 KeyMe Pass 没有任何绑定,就是普通字符串,你想用在哪都行。
这种密码要怎么记住?
记不住才是重点 —— 你需要一个东西替你记。任何靠谱的密码管理器都可以,我们的在下面。
总得有个地方放它们
生成出来的密码,只有在你需要时还找得到才有用。KeyMe Pass 把密码、通行密钥和验证码放在同一个加密库里,在手机和浏览器里替你填上,而且不限制你能存多少。
免费使用 KeyMe Pass短语词库:EFF Large Wordlist for Passphrases(7,776 词),© Electronic Frontier Foundation,依 CC BY 3.0 US 授权使用。已修改:移除了原文件的骰子点数列。 eff.org/dice (7776)