XKCD 风格口令生成器

用随机常用单词生成 xkcd 风格的口令,可选择分隔符、大小写和单词长度。熵值以比特显示。

正在加载词典…

什么是 XKCD 口令生成器?

受 xkcd 漫画 #936 启发,这个生成器把随机选取的单词串在一起,比如 correct-horse-battery-staple,从而得到又长、又强、又好记的密码。你可以控制单词数、分隔符、大小写和单词长度。

如何使用 XKCD 口令生成器

  1. 设置单词数(2–12);4 个与漫画一致,如今 5–6 个更好。
  2. 选择分隔符和大小写样式。
  3. 调整最小/最大单词长度,并可选在末尾添加一个随机数字。
  4. 点击重新生成;会显示多个候选,复制你喜欢的那个。

示例

输入
4 words, hyphen separator, Capitalize Each Word, add a digit
输出
Acuteness-Slug-Obsolete-Renegade1 (55.0 bits)

输出是随机的;你得到的会不同。

何时使用 XKCD 口令生成器

适用于你经常输入的密码:电脑登录、口头分享的 Wi-Fi 密码、主密码。对于攻击者可能离线攻击的场景,请至少选择 5 个单词。对于最大密码长度很短的系统请避免使用;那里请使用字符生成器。

XKCD 口令生成器 的工作原理

单词用 crypto.getRandomValues 从按你的长度范围过滤后的 EFF 大词表中均匀抽取。熵 = 单词数 × log2(字符池大小),再加上随机大小写每个单词 1 比特、每个随机数字分隔符 log2(10),以及末尾追加数字的 log2(10)。该数值假定攻击者知道词表和你的设置,因此是一个诚实的下限。从显示的多个候选中挑选一个,最多损失 log2(候选数) 比特。

常见用例

  • 创建好记的电脑登录密码
  • 生成便于朗读的 Wi-Fi 密码
  • 制作密码管理器的主密码
  • 为密码安全教学生成口令

安全提示

不要把生成的短语改成更“有意义”的内容;人为的选择会让它变得可预测。

常见问题

correct horse battery staple 现在还安全吗?

这个确切的短语如今已在所有破解字典里。但这个思路是合理的:从 7,776 个词中真正随机选出四个词,有 51.7 比特;想要强保护请使用五个或六个单词。

为什么大小写增加的熵这么少?

把每个单词都用相同方式大写是攻击者已知的规则,所以没有增加任何熵。只有对每个单词随机大小写,才会为每个单词增加 1 比特。

使用哪个词表?

EFF 大词表,包含 7,776 个常用英文单词,并按你选择的最小和最大长度过滤。

探索更多分类