密码强度检查器

/ 6 · 破解时间:
长度
a-z / A-Z
0-9 / !@#

输入或粘贴一个密码,本检查器会完全在您的浏览器中对其进行评分。它会测量密码长度、您所用的字符类别(小写字母、大写字母、数字、符号)、由此得出的以位为单位的熵值,并将其换算成针对离线攻击者的粗略破解时间估算。评定结果从非常弱到非常强,让您一眼就能看出一个密码是否值得保留。

评分是如何计算的

  1. 1

    输入密码

    密码仅在您的浏览器中被分析,绝不会被存储或发送到服务器。

  2. 2

    检测字符类别

    检查器会查找小写字母(a-z)、大写字母(A-Z)、数字(0-9)和符号,并累加您所用字母表的大小。

  3. 3

    以位为单位的熵值

    熵 = 长度乘以字母表大小的 log2。长度越长、字符越多样,位数就越多。

  4. 4

    估算破解时间

    将位数换算成平均猜测次数,再除以每秒约 100 亿次猜测,这是快速离线 GPU 攻击的大致水平。

  5. 5

    查看评定结果

    0 到 6 分的清单评分会给出从非常弱到非常强的标签,并附上长度、熵值和破解时间的数值。

清单评分奖励什么

评定结果来自一个简单的 0 到 6 分评分。下列每一项各加一分:

分数 条件
+1 长度至少 8 个字符
+1 长度至少 12 个字符
+1 长度至少 16 个字符
+1 同时使用小写和大写字母
+1 包含至少一个数字
+1 包含至少一个符号
评分 标签
0 - 1 非常弱
2
3 - 4 中等
5
6 非常强

长度自身就占了六分中的三分,因为长度是真实强度中最大的单一因素。

熵值和破解时间是如何估算的

熵是指:如果每个字符都是随机选取的,描述这个密码所需的位数:length × log2(alphabet size)。字母表大小会累加您所用的类别:小写 26、大写 26、数字 10、常见符号 33,因此四类全用的密码是从 95 个可能字符中抽取的。

破解时间估算假设攻击者处于离线状态,已经拿到被盗的哈希值,并能在快速的消费级 GPU 上每秒尝试约 100 亿(10^10)次猜测。这一数字与 MD5 或 SHA-1 这类薄弱、快速的哈希相符。而 bcrypt 或 Argon2 这类刻意设计得很慢的哈希会把该速率削减数百万倍,因此在使用它们的场合,同一个密码要安全得多。

本工具检查什么、不检查什么

  • 它会检查长度、存在哪些字符类别、以位为单位的原始熵值,以及由该熵值得出的破解时间估算。
  • 它不会将您的密码与词典、泄露密码列表、键盘走位(qwerty、1qaz2wsx)或常见替换(p@ssw0rd)进行比对。一个密码可以通过每一项字符类别检查,但如果它是一个已知单词或已泄露的密码,仍然可能极易被猜到。

请把评分当作下限,而非保证:它能告诉您一个密码太短或太简单,但高分并不能证明该密码是不可预测的。

真正让密码变强的是什么

  1. 长度优先。 每多一个字符都比任何其他单项改动更有价值。14 个字符的随机密码每次都胜过 8 个字符的复杂密码。
  2. 随机性。 人在脑子里想出来的熵都很差。让生成器来挑选字符。
  3. 分散多样性。 把数字和符号放在任意位置,而不是只堆在破解者预期的末尾。
  4. 每个网站一个密码。 一个在 50 个账户上重复使用的强密码,只和存储它的最薄弱网站一样安全。

安全的建议

  • 使用密码管理器为每个网站创建并存储一个 16 位以上的唯一随机密码。
  • 使用口令短语,由 5 到 8 个随机单词组成,用于少数几个必须手动输入的密码,比如您的管理器主密码。
  • 在任何提供的地方都开启双因素认证
  • 在继续重复使用任何密码之前查一查 pwnedpasswords.com,因为本工具无法看出您的密码是否已经泄露。

常见问题

不会。整个分析都使用 JavaScript 在您的浏览器中运行。密码绝不会被存储,也绝不会被发送到我们的服务器,因此您可以放心测试一个真实密码。

不会。本工具只测量长度、字符多样性、熵值和破解时间估算。它不会将您的密码与泄露数据库进行比对。要检查密码是否已泄露,请使用 pwnedpasswords.com 这类专门服务。

因为长度占了六分中的三分。短密码只能拿到字符类别的分数,所以最高只能到中等。增加长度是同时提升评分和熵值的最快办法。

它意味着密码足够长、足够多样。它并不知道该密码是否是一个词典单词、一个已知模式或已经泄露。要获得真正的安全,请为每个网站使用唯一的随机密码,并开启双因素认证。

相关工具

此工具还提供其他语言版本