Diceware 口令生成器

用 EFF 大词表(7,776 个单词)创建 diceware 口令,可使用虚拟骰子或你自己掷的实体骰子点数,并显示骰子编码和熵值。

正在加载词典…

什么是 Diceware 口令生成器?

Diceware 把骰子点数变成单词:五个骰子从 EFF 大词表的 7,776 个单词中选出一个。你可以让页面用安全随机数生成器掷虚拟骰子,也可以输入真实骰子的结果,这样完全不涉及计算机的随机性。

如何使用 Diceware 口令生成器

  1. 在骰子下,选择掷虚拟骰子或输入我自己掷的骰子点数。
  2. 使用虚拟骰子时,设置单词数(EFF 建议至少 6 个)并点击重新掷骰。
  3. 使用真实骰子时,每个单词掷五个骰子,并把数字 1–6 输入骰子点数。
  4. 选择分隔符并复制口令;表格会显示每个单词对应的骰子编码。

示例

输入
Dice rolls: 11111 11112 66666
输出
abacus abdomen zoom (38.8 bits)

为简洁起见只显示三个单词;真正的口令请使用六个或更多。

何时使用 Diceware 口令生成器

diceware 适用于你必须输入或记住的密码:密码管理器主密码、磁盘加密口令、SSH 密钥口令。对于存放在管理器里、从不手动输入的密码,在相同强度下随机字符密码更短。

Diceware 口令生成器 的工作原理

每个单词的索引是把 5 位骰子编码当作 6 进制数读取(11111 = abacus,66666 = zoom),得到 6^5 = 7,776 个等概率单词。虚拟骰子对每个骰子使用 crypto.getRandomValues 和拒绝采样。每个单词增加 log2(7776) ≈ 12.925 比特,因此 6 个单词有 77.5 比特,即使攻击者知道你用的正是这份词表。词表是官方的 EFF 大词表(2016),仅在工具打开时加载。

常见用例

  • 创建密码管理器的主密码
  • 选择全盘加密或 LUKS/BitLocker 口令
  • 保护 PGP 或 SSH 私钥
  • 用实体骰子离线生成口令,以获得最大的信任

安全提示

输入到页面中的点数只保留在你的浏览器里。不要以明文保存口令;请把它背下来,或放在密码管理器或密封的纸质备份中。

常见问题

为什么要用实体骰子?

真实骰子消除了对计算机随机数生成器的任何依赖。页面只执行查表,你可以对照公布的 EFF 词表进行验证。

我需要多少个单词?

EFF 建议至少 6 个单词(77.5 比特)。对于主密码,七个单词(90 比特)是稳妥的选择。

我可以重新排序或挑选自己喜欢的单词吗?

不可以。在多个结果中挑选会降低熵。请严格按掷出的结果使用这些单词。

EFF 词表和原版 diceware 词表一样吗?

不一样。EFF 大词表(2016)取代了 Arnold Reinhold 的原版词表,使用更长、更好记且更不冒犯的单词,但沿用同样的 5 骰子方案。

探索更多分类