跳到正文

密码短语生成器

Passphrase Generator

从词表里按 diceware 方式拼出一句密码短语,并给出以比特计的熵。

密码短语是给那少数几个你必须记在脑子里、在无法粘贴的键盘上敲出来的秘密用的——磁盘解锁、设备 PIN 界面、装着其他一切的管理器的主密码。从已知词表里随机抽出的词,好记的程度是随机字符比不上的,而熵是算出来的,不是猜的。

🔒 完全在你的浏览器里运行passphrasedicewaregenerator
方式

…

熵

77.5位

强度

强

词表

7776个词

长度

0个字符

猜出来要多久

平均大约 4千年。

一个用未加盐的 MD5 或 SHA-1 存的被盗数据库,用八张新显卡组成的机器来打。该照着做打算的是这个数,因为网站怎么存你的密码,你说了不算。 这个数是密钥空间的一半——77.5位——除以每秒 1,000,000,000,000次。它假设攻击者完全清楚这条密码是怎么造出来的,而且没有别的路可走;一个账号里最薄弱的一环,很少是密码。

口令短语
6

每个词值 log₂(7776) = 12.9 位。要靠脑子记的口令短语,EFF 推荐 6 个词;低于 4 个词,针对词表的攻击就真的可行了。

这是你自己选的,不是随机的:0 位。
大写

这里的每条密码都出自这个标签页里的 crypto.getRandomValues。不发往任何地方,也不写进任何存储,关掉标签页就干净了——没有历史记录要清。它唯一会离开这个页面的去处是剪贴板,而别的程序读得到剪贴板;粘进密码管理器之后,再随便复制点无害的东西盖掉它。

怎么用

  1. 选词数

    EFF 长词表里每个词值 12.9 比特。必须扛住离线攻击的,六个词是通常的下限;只会面对限速登录的短语,四个词。

  2. 选一个你打得出来的分隔符

    连字符和空格对熵来说是等价的;它们之所以要紧,只是因为有些登录界面会剥掉其中一种。首字母大写和末尾加数字几乎不增加什么——强度靠的是词数。

  3. 接受之前先读一下比特数

    显示的比特数是词数 × log₂(词表大小),这只在词是均匀随机抽取的前提下才成立。如果你一直重抽直到看到顺眼的短语,那就是在挑选而不是抽取,这个数字就不再成立了。

常见问题

由真实单词组成的短语不是更容易猜吗?

只有当这些词来自一个句子时才是。一个知道确切词表和确切词数的攻击者,面对的仍然是“词表大小的词数次方”种可能——六个 EFF 词是 7,776⁶,约 77 比特。词表保密并不是强度的一部分。

能用它做网站登录密码吗?

可以,但那里更合适的是密码生成器出的随机字符串,因为管理器会替你输入,而且长度限制很常见。把密码短语留给你亲手输入的东西。

词表是哪来的?

EFF 的 diceware 长词表——7,776 个英文单词,挑选时保证没有一个词是另一个词的前缀,也没有哪个词在口述或输入时容易混淆。它随页面一起打包;不会发请求去取。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。