易记密码短语生成器(Diceware式)

通过随机组合常见单词,生成易于记忆、也便于口头传达的密码短语。可指定单词数量、分隔符、首字母大写和末尾数字,全部处理均在浏览器内完成。

本工具的单词选择与组合均在浏览器内(Web Crypto API)完成,绝不会发送到服务器。

关于 Diceware 密码短语方法

Diceware 是一种通过骰子(或其他随机来源)从单词表中选取若干单词并拼接起来生成密码的方法。相比随机的字母符号串,其结果对人类而言更容易记忆,并且随着单词数量增加,其抵御暴力破解的强度(熵)会呈线性增长。

使用提示

  • 建议至少使用4个单词。3个及以下时,预估熵值往往不足以抵御专用破解工具。
  • 在需要口头告知或手写记录的场景(如Wi-Fi密码)中,连字符分隔更易读,也能减少输入错误。
  • 如果某些服务要求必须包含符号,启用"在末尾添加2位数字"有助于在不使用标点符号的情况下满足复杂度要求。
  • 生成的密码短语仅用于显示,不会被保存。刷新页面会生成新的组合,如需使用请立即复制。

常见问题

两者没有严格的定义区分,但"密码"通常指随机的字符串,而"密码短语"指由若干单词拼接而成、便于记忆的字符串。在强度相近的情况下,密码短语通常更容易被人记住和输入。

对于日常账户,建议使用4个或以上单词。对于金融服务、加密货币钱包等尤其重要的账户,使用5到6个单词能对专用破解设备提供更强的抵御能力。

词典攻击针对的是单个单词,而本工具的安全性来自多个单词的组合。即使单词表是公开的,随着单词数量增加,可能的组合数会呈指数级增长,从而在实践中提供足够的抵御能力。

不会。生成过程完全在浏览器内完成,不会发送或保存到任何地方。关闭或刷新页面后当前结果即会丢失,如需使用请立即复制。
ツールくん

闲话 ― "correct horse battery staple" 如何改变了讨论方向

Diceware方法本身由Arnold Reinhold于1995年提出,但真正广为人知要归功于2011年网络漫画xkcd的第936话。该漫画将"Tr0ub4dor&3"这类看似复杂却难以记忆的密码,与由"correct horse battery staple"这四个普通单词组成的密码短语进行比较,指出后者虽然更易记忆,但对暴力破解的理论强度反而更高。

这种看似矛盾的现象源于信息论中的熵。与其在每个位置扩大字符集,不如从一个大型单词表中选取多个单词,这样每次选择能积累更多的随机比特数。即便是一个约853个单词的列表,每个单词也约有9.7比特的信息量,因此四个单词组合起来的强度已可媲美一个混合字母、数字与符号的8位密码。

不过这也有实际的权衡之处。较长的密码短语更容易出现输入错误,而且如果重复使用同一份单词表,一旦该表泄露,攻击者的搜索空间实际上就会缩小到该表的范围内。对于最重要的账户,建议将生成的密码短语当作密码管理器的可记忆主密码使用,而非到处重复使用。