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

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

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

关于 Diceware 密码短语方法

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

密码短语生成是什么

密码短语是以多个常见单字串接而成的密码,取代掺入符号的短字串。对人而言,它作为单字的排列很好记,而只要增加单字数量,对暴力破解的强度便会呈直线上升。本工具可指定单字数、分隔字元、大写化与数字附加,当场生成密码短语。

生成使用密码学上安全的乱数,处理全部在浏览器内完成。既不会送往伺服器也不会储存,因此请当场复制所显示的字串。重新载入页面便会换成另一组组合。一併显示的推估强度,是由单字表的规模与单字数所推算的参考值。

密码短语的产生方法

  1. 决定单字数 建议4个以上。3个以下推估强度不足,无法对专用的破解工具具备足够的耐受度。
  2. 选择分隔字元 在需要口头传达的场合,连字号较易朗读而便利。若服务不允许空白,请选择其他符号。
  3. 设定大写化与数字附加 这是为要求必须含大写或数字的服务所做的调整。可在满足要求的同时保持好记。
  4. 生成并复制 可重新产生直到出现满意的组合。决定後请当场复制并登录至保存处。

用好本工具的小技巧

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

密码短语的实用场景

决定 Wi-Fi 的密码

由于经常需要口头告知访客,单字的排列远比符号的罗列容易传达。以连字号分隔适合朗读。

密码管理工具的主密码

这是唯一需要自己记住的密码。可在确保长度的同时做成能够记忆的形式。

加密档案的通行密语

作为 ZIP 或磁碟加密所用的通行密语,可选择易於传达且不易打错的形式。

临时的共用密码

适合团队内短期共用的用途。即使贴在聊天室,也不易发生误读。

与密码短语相关的术语

密码短语
指将多个单字串接而成的密码。易於确保长度,且便於记忆与口头传达是其特点。
Diceware
指以骰子等乱数从单字表中挑选词语的方式。此思维即为密码短语生成的基础。
熵(Entropy)
指以位元数表示猜测难度的指标。数值每增加1,暴力破解所需的尝试次数便加倍。
暴力破解攻击
指将可能的组合从头逐一尝试的攻击。密码短语的长度会直接转化为耐受度。
字典攻击
指尝试常用单字或过去外泄密码的攻击。以随机方式挑选单字即可对抗。
Web Crypto API
指浏览器所具备的密码处理机制。本工具以此产生难以预测的乱数。

常见问题

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

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

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

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

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

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

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

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