跳到主要内容

免费 Diceware 口令生成器

通过组合随机单词生成易记的高熵口令。可配置单词数量、分隔符和大小写——使用密码学安全的随机性。

加载后可离线使用

...

点击任何单词以仅重新掷骰该单词

62 位
熵
15年
破解时间

为什么选择 diceware?由随机单词组成的短语拥有巨大的熵,且比乱码更易记忆。5个单词的短语比含大小写+符号的10位随机密码拥有更高的熵。所有随机性来自浏览器的 crypto.getRandomValues()。不传输任何单词、密码短语或数据。

常见用途

  • 为密码管理器生成主密码掷骰子密语短语非常适合密码管理器的主密钥 — 高熵、易记。
  • 生成加密密语用于全盘加密、GPG 密钥或任何需要可记忆密钥的密码系统。
  • 生成 Wi-Fi 网络密码比随机乱码更容易口头分享 — 非常适合访客网络或共享家庭。
  • 生成团队共享密钥用于共享服务帐户、部署密码或任何需要多人记住的内容。
  • 为演示生成易记的示例密码在演示需要密码的工具时,掷骰子短语对观众来说比乱码更易记住。

工作原理

密码短语生成完全在你的浏览器中使用 Web Crypto API 的 crypto.getRandomValues 运行——与密码管理器和 TLS 使用的加密随机源相同。1,296 个单词的 EFF 短词表直接打包在页面中,因此生成过程中不会发出网络请求。

  1. 1
    无偏差的选词
    对于每个单词位置,crypto.getRandomValues 用硬件支持的随机数填充一个 Uint32 缓冲区。拒绝采样会丢弃可能造成分布偏差的值,然后用结果索引 1,296 个单词的 EFF 短词表——每个单词恰好提供 10.34 位熵,没有取模偏差。
  2. 2
    附加可选内容
    如果启用数字开关,会用同样的无偏方法选出 0–99 的随机整数,并作为单独的片段附加,增加约 6.6 位熵。每个单词首字母大写是确定性的,不会增加熵,工具会明确说明这一点。
  3. 3
    实时显示熵值和破解时间
    熵按 单词数 × log2(1296) 计算,工具会使用三种可选的攻击模型将其换算为估计的破解时间:每秒 10 次猜测(在线限速)、每秒 100 亿次(离线 GPU)和每秒 100 万亿次(大规模集群)。更改单词数或选项时计算会即时更新。
  4. 4
    逐词重新生成与复制
    点击任意单个单词只会用新生成的单词替换它——熵值不变,适合替换一个别扭的单词而无需重新生成整个密码短语。最终字符串用你选择的分隔符拼接,并通过标准 Clipboard API 写入剪贴板。

密码短语完全在你的浏览器中使用本地打包的词表数据生成——任何时候都不会向服务器发送任何内容。

相关工具

常见问题