Glyph WidgetsGlyph Widgets
工具关于联系博客隐私条款移除广告在Ko-fi上支持

© 2026 Glyph Widgets LLC. 保留所有权利。

·

100% 客户端处理

返回博客

密码短语生成器:强大且易于记忆

使用 EFF 词表和 XKCD 方法的密码短语生成器。创建具有 50–100+ 位熵的易记密码。多语言支持。

Glyph Widgets
2026年2月27日
阅读 11 分钟
密码短语生成器dicewareXKCD密码correct horse battery staple安全密码短语

什么是密码短语生成器?

密码短语生成器创建既易于记忆又具有密码学强度的随机单词序列 — 遵循 XKCD 网络漫画《correct horse battery staple》所推广的方法。从 7,776 个单词的 diceware 列表中生成的四个单词密码短语产生大约 51.7 位熵:比 8 字符随机密码更难进行暴力破解,但更容易记住和输入。

该工具从多个精选词表中选取单词,合并词库超过 10,000 个单词,支持 9 种语言变体,允许自定义单词数量、分隔符样式、大写和附加数字,并显示实时熵计算,让您精确了解每种配置的强度。一切在浏览器中运行 — 没有任何密码短语被传输到任何地方。

> 立即试用: 密码短语生成器 — 免费,无需注册,100% 客户端。

主要功能

  • 多个词典 — 包括 EFF Diceware(英语)、德语、西班牙语、法语、葡萄牙语(BR)、俄语、印地语、日语、中文和韩语的语言专属列表,以及技术术语和自然词汇的补充列表。工具根据浏览器语言自动选择相关词表。
  • 可自定义的单词数量(3–10 个单词) — 通过滑块控制。默认为 4 个单词。
  • 五种分隔符选项 — 无(单词直接拼接)、空格、连字符(-)、下划线(_)和句号(.)。
  • 可选大写 — 启用时将每个单词的首字母在拼接前大写。
  • 可选数字后缀 — 在可配置范围内添加随机数字(默认 1–999)。工具单独计算并显示数字范围对熵的贡献。
  • 实时熵计算 — 显示总熵(位)、词库大小和每个单词的位数。熵考虑单词数量、词库大小,以及启用时的数字范围。
  • 七个强度级别 — 与密码生成器相同:弱、一般、好、强、非常强、堡垒、荒谬。
  • 批量生成(1–100) — 使用数量滑块同时生成多个密码短语。
  • 批处理模式 — 以批处理方式生成最多 100 个独立密码短语并在表格中显示的支持者功能。
  • 最小长度限制 — 可选要求连接的单词字符达到最小长度,必要时添加额外单词。

如何使用密码短语生成器

第 1 步:选择词表

工具根据界面语言自动选择词表。英语用户看到 EFF Diceware、Common English、Technical 和 Nature 列表。中文用户看到中文 EFF 风格列表加上英语备用列表。

每个词表条目显示其名称、单词数量和简短描述。使用复选框开启和关闭列表。至少一个词表必须保持活跃 — 尝试取消选择最后一个会触发错误提示。组合多个词表可增加词库大小,从而提高每个单词的熵。

第 2 步:设置单词数量

使用单词数量滑块(范围 3–10)选择每个密码短语包含多少个单词。熵显示会立即更新。使用标准 EFF Diceware 列表(约 7,776 个单词),每个单词贡献约 12.9 位熵:

单词数大约熵
3~38.7 位(弱)
4~51.7 位(一般)
5~64.6 位(好)
6~77.5 位(强)
7~90.4 位(非常强)

第 3 步:选择分隔符

五个单选按钮控制单词分隔方式:

  • 无 — 单词直接拼接:CorrectHorseBatteryStaple
  • 空格 — Correct Horse Battery Staple
  • 连字符 — Correct-Horse-Battery-Staple
  • 下划线 — Correct_Horse_Battery_Staple
  • 句号 — Correct.Horse.Battery.Staple

注意:分隔符选项存储选项 ID(例如 'hyphen'),而非字符本身。组件通过 SEPARATOR_OPTIONS.find((s) => s.id === options.separator) 查找字符。

第 4 步:配置额外选项

每个单词大写 — 默认启用。将每个单词的首字母大写(word.charAt(0).toUpperCase() + word.slice(1))。这不会增加有意义的熵,因为攻击者可以假设任何单词都可能被大写。

添加随机数字 — 勾选后,可配置范围内的数字直接附加在密码短语末尾(最后一个单词和数字之间没有分隔符)。默认范围为 1–999。熵贡献为 log2(max - min + 1),显示在范围控件旁边的熵显示中。

最小字符长度 — 0 到 50 的滑块。设置大于 0 时,生成器会添加额外单词,直到所有单词的连接字符数达到最小值。当服务要求最小字符数时很有用。

第 5 步:生成并复制

点击"Generate"。结果卡片显示每个密码短语的单词数、位熵和颜色编码的强度指示器。点击任意行的复制图标复制该密码短语。点击"Copy All"以换行符分隔复制所有密码短语。

实际应用示例

密码管理器的主密码。 您需要一个每天输入且不能写下来的密码短语。选择 6 个单词、连字符分隔符、每个单词大写,以及 100–999 范围内的数字。EFF Diceware 列表 6 个单词(约 77.5 位)加上 900 值范围的约 9.2 位,总熵超过 86 位(非常强)。结果如下所示:大理石-毯子-窗帘-化石-跑道-铅笔847。

服务器的 SSH 密钥密码短语。 您不常输入但需要强度。选择 7 个单词、下划线分隔符、不大写、不添加数字。7 个 EFF Diceware 单词给出约 90 位(非常强)。不使用大写是有意为之 — 全小写输入更快,熵不受影响。

共享办公室的 Wi-Fi 密码。 访客在手机上输入的密码。选择 4 个单词、空格分隔符、每个单词大写。结果可读且易记:Timber Forest Mirror Flute。约 51.7 位对于密码短语来说是一般,但比同等长度的随机字符串容易记忆得多。

提示和最佳实践

提高熵应增加单词数而非使用更长的词表。 添加第二个词表将词库大小翻倍,每个单词增加约 1 位。再添加一个单词直接增加 log2(poolSize) 位。为获得最大熵,首先增加单词数量,然后添加补充词表。

分隔符不增加熵。 分隔符不是随机的 — 模拟您密码短语构建方式的攻击者知道您常用哪些分隔符。分隔符提高可读性和输入便利性,而非安全性。不要依赖分隔符选择作为熵的来源。

大写是可预测的。 大写选项以确定性方式应用于每个单词。将其视为可读性功能,而非安全功能。熵计算准确反映这一点 — 大写不会增加显示的熵值。

数字范围重要,而非个别值。 添加 1–999 的数字增加 log2(999) ≈ 10 位。添加 100–999 增加 log2(900) ≈ 9.8 位。将范围扩大到 1–9999 增加 log2(9999) ≈ 13.3 位。更大的范围比更大的数字更有价值。

最小长度是约束,而非安全增强。 添加最小长度会让生成器添加单词直到字符数满足要求。这按比例增加熵,但长度约束本身并非随机 — 知道您使用此选项的攻击者可以对其建模。

常见问题和故障排除

出现"Select at least one wordlist"提示。 您尝试取消选择最后一个活跃词表。在移除当前选择之前,请至少启用一个其他词表。

熵似乎低于预期。 检查单词数量滑块 — 最少 3 个单词。还要确认没有最小长度约束要求您未打算添加的额外单词,因为熵显示会计算生成的总单词数,包括为满足长度最小值而添加的单词。

数字范围显示"Max must be greater than min"错误。 数字范围验证要求 numberMax > numberMin。如果您在两个字段输入相同的值,数字范围的熵降为 0 并显示错误消息。将最大值设置为至少 min + 1。

密码短语包含意外语言的单词。 词表可以组合。如果英语 EFF Diceware 和德语 EFF Diceware 列表都处于活跃状态,两个词库的单词都会进入组合选择。取消选择不需要的词表以限制输出语言。

批处理模式生成密码短语但熵为 0。 当批处理输出行渲染时熵信息不可用时会发生这种情况。请查看选项卡片中的实时熵显示,获取当前配置的熵估计。

隐私和安全

密码短语生成器使用 crypto.getRandomValues 从词库中选取单词。没有任何密码短语被传输到任何服务器 — 词表捆绑在应用程序中,所有选择逻辑在浏览器中运行。加载后工具可离线运行。密码短语仅保存在浏览器内存中;除非您使用历史面板(一种高级支持者功能,在您的设备上将数据本地存储在 IndexedDB 中,而非任何服务器上),否则不会被应用程序存储。

常见问题解答

密码短语生成器是免费的吗? 是的,完全免费,无需账户、注册或使用限制。

什么是 XKCD 密码短语方法? XKCD 方法指 2011 年的漫画(第 936 期)。Randall Munroe 绘制,展示了四个随机常见单词(例如"correct horse battery staple")比带有替换的随机字符短密码更安全、更好记。安全性来自大型词表中可能的单词组合数量,而非单个字符的复杂性。

什么是 diceware? Diceware 是通过掷物理骰子从编号词表中选择单词来生成密码短语的方法。EFF(电子前哨基金会)发布了专为此目的设计的精选 diceware 列表。该工具以数字方式使用 EFF 词表,crypto.getRandomValues 替代了物理骰子。

多少熵才够? 安全建议因使用场景而异。对于大多数密码管理器主密码和账户凭据,60–80 位(好到强)被普遍认为足以抵御当前硬件。对于长期机密或高价值目标,建议 80–100 位(非常强)或更高。工具的强度指南提供了在消费级 GPU 和国家级威胁层面的破解时间估计。

分隔符选择影响熵吗? 不影响。分隔符是固定的配置选择 — 模拟您密码短语的攻击者知道您使用哪个分隔符。分隔符只影响可读性和输入便利性。熵显示不包含分隔符选择的任何贡献。

可以生成其他语言的密码短语吗? 可以。工具包含德语、西班牙语、法语、葡萄牙语(巴西)、俄语、印地语、日语、中文和韩语的词表。正确的词表根据您的浏览器语言自动显示。您也可以手动切换词表选择任意组合。

大写单词会增加熵吗? 不会。大写选项以确定性方式应用于每个单词(首字母大写)。知道您使用此工具的攻击者可以对大写模式建模。熵计算正确地不为大写添加任何位。

一次最多能生成多少密码短语? 数量滑块最多允许 100 个。批处理模式(支持者功能)每次批处理运行也最多允许 100 个。

组合多个词表是否更安全? 组合词表会增加词库大小,每个单词大约增加 log2(新词库大小/原词库大小) 位。例如,将两个 7,776 个单词的列表合并为约 15,552 个单词的词库,每个单词增加约 1 位。增加单词数量通常影响更大,但组合列表是有用的补充措施。

最小长度限制会改变熵计算吗? 会。当最小长度处于活跃状态且添加了额外单词以满足要求时,这些单词将其完整熵贡献给总量。熵显示始终反映生成的密码短语中单词的实际数量。

相关工具

  • 密码生成器 — 生成具有密码学熵和 7 级强度测量的随机字符密码。
  • UUID 生成器 — 为非密码使用场景生成符合 RFC 的唯一标识符。
  • Base64 编码器/解码器 — 以 Base64 格式编码或解码凭据和令牌。

立即试用密码短语生成器:密码短语生成器

最后更新:2026年2月27日

继续阅读

更多文章试用 Passphrase Generator