密码强度・泄露检测 / 生成

测量密码强度(熵值与预估破解时间),通过 Have I Been Pwned 检查密码是否出现在过去的泄露数据中,并生成安全的密码。强度计算与生成均在浏览器内完成,泄露检测也不会发送密码本身。

强度计算与生成均在浏览器内完成,不发送任何内容。泄露检测仅在你点击按钮时运行,只把密码 SHA-1 哈希的前 5 个字符从你的浏览器直接发送到 Have I Been Pwned(api.pwnedpasswords.com)。密码本身和完整哈希都不会被发送,也不经过本站服务器。

使用工具

发送
强度计算不发送任何内容
保存
不保存
外部API
仅在泄露检查时,向HIBP发送哈希前5个字符
对象
不连接任何外部对象
详细说明
  • 强度计算和密码生成只在浏览器内进行。
  • 泄露检查仅在按下按钮时运行。浏览器只把密码SHA-1哈希的前5个字符直接发送到Have I Been Pwned(api.pwnedpasswords.com),并在浏览器内与返回的候选值比对(k-匿名)。密码本身和完整哈希不会发送。
  • HIBP会收到这5个字符和你的IP地址,不经过本站服务器。
  • 页面本身的访问会记录在访问日志中(IP地址、时间、用户代理等)。工具页面不加载广告和访问分析。 隐私政策

检测强度

原理:仅在你点击按钮时,浏览器用 SHA-1 对密码做哈希,只把哈希的前 5 个字符发送到 Have I Been Pwned。比对同样在浏览器内完成,因此密码和完整哈希都不会被发送,也不经过本站服务器。HIBP 收到的是这 5 个字符和你的 IP 地址。

正在使用的密码,用保存它的密码管理器或浏览器自带的检查功能来查更安全。 如何确认密码是否已泄露 / 密码管理器安全吗?

数据:Have I Been Pwned(Pwned Passwords)

生成安全的密码

使用方法

  1. 1

    在上方输入框中输入密码,即可查看其熵值(bits)、强度与预估破解时间。

  2. 2

    点击「与泄露数据比对」,即可确认该密码是否包含在 Have I Been Pwned 的 Pwned Passwords(过去的泄露数据)中。

  3. 3

    使用下方的生成器,按长度和字符种类创建并复制安全的密码。

  4. 4

    重要账户请使用生成的长密码 + 密码管理器 + 多因素认证来保护。

为什么重要

强度的本质在于「长度」和「随机性(熵)」。有意义的单词和替换(@ 代替 a 等)容易被猜测,并不像看上去那么强。每个网站使用各不相同的长随机字符串,而你只需记住密码管理器的主密码——这才是现实中的最优解。

常见问题

Q我输入的密码会被发送出去吗?
A

密码本身不会被发送。强度计算与生成均在浏览器内完成。只有在你点击泄露检测按钮时,才会把哈希的前 5 个字符发送到 Have I Been Pwned(见下一个问题)。

Q「预估破解时间」有多准确?
A

它会因攻击者的算力和哈希方式而大幅变化,因此仅供参考。这里假设的是高速离线暴力破解(每秒约 100 亿次)。熵值(bits)是更客观的指标。

Q泄露检测是什么原理?安全吗?
A

采用的是 k-匿名方式。浏览器用 SHA-1 对密码做哈希,只发送前 5 个字符,Have I Been Pwned 会返回以这 5 个字符开头的数百个哈希,是否有匹配项在浏览器内比对。因此 HIBP 和本站都无法知道你查询的是哪个密码。HIBP 收到的是这 5 个字符和你的 IP 地址。发送的内容可以在浏览器开发者工具的「网络」面板中确认。

Q显示「未找到」就安全吗?
A

不一定。这里只包含已经流出的泄露数据。较短的密码或仅由单词组合的密码,即使从未泄露也可能被猜中。请同时参考强度结果,并为每个网站使用不同的长密码。