dmosk / passcheck

检查密码是否泄露

用 Have I Been Pwned 的 k-匿名 检查密码:在浏览器中计算 SHA-1,仅发送短哈希前缀。同时提供本地熵估计。密码不会发送到我们的服务器。详见隐私说明。需要新密码?打开 passgen。

密码留在您的设备上。仅将短 SHA-1 哈希前缀发送到 Have I Been Pwned API(k-匿名)。我们不会接收或存储您的密码。

为什么使用 passcheck

  • HIBP 与 k-匿名。在浏览器中计算 SHA-1;仅将短哈希前缀发送到 API。
  • 本地熵。按长度与字符类估算强度——在您的设备上。
  • 密码不到我们的后端。我们不接收也不存储您输入的内容。
  • 结果清晰。在泄露中找到 / 未找到;若找到则显示大致 HIBP 次数。
  • 诚实的边界。不承诺绝对安全——仅有 HIBP 语料与启发式。
  • 免费且多语言。无需账号;覆盖全集每一种语言。
  • 搭配生成器。在 passgen.dmosk.net 生成新密码。

如何检查密码

  1. 在输入框中输入密码(可选择显示或隐藏字符)。
  2. 点击“检查”:浏览器计算 SHA-1 并按哈希前缀查询 HIBP。
  3. 查看泄露状态与本地强度估计(比特、长度、字母表)。
  4. 若已泄露,在仍使用处更换;可用 passgen 生成新密码。

密码习惯与 HIBP

Have I Been Pwned 汇总已知泄露中的密码哈希。匹配表示该字符串已出现在泄露数据中——应停止使用。强度评分是启发式,不能替代唯一的随机密码。

建议:

  • 为每个服务使用唯一密码。
  • 把密码放在密码管理器中,而不是笔记或聊天里。
  • 长度与字符多样性优于词典里的“巧妙”词。
  • 尽可能启用双重身份验证。
  • 若 HIBP 命中,在仍生效的地方全部更换。
  • HIBP“未找到”不等于“永远安全”。
  • 需要新密码时使用 passgen。
  • 不要在不可信网站输入密码——本工具不会把您的密码发到我们的服务器。

适用场景

  • 快速查看密码是否出现在已知泄露中;
  • 轮换凭据前获得粗略熵参考;
  • 向团队说明弱密码或重复使用的风险;
  • 随后在 passgen 上生成新密码;
  • 无需把密码上传到我们的服务器。

常见问题

HIBP 的 k-匿名是什么?

浏览器计算密码的 SHA-1,只发送哈希前几个字符。HIBP 返回该前缀下的后缀列表;完整匹配在本地完成——完整密码不会发到 API。

密码会上传到我们这边吗?

不会。我们不接收也不存储。只有短 SHA-1 前缀发往 HIBP API。

什么是 Have I Been Pwned?

Troy Hunt 的项目,汇总公开泄露中的密码哈希。passcheck 使用其 range API,无需发送完整密码即可检查。

“出现约 N 次”是什么意思?

该字符串在 HIBP 数据中出现的大致次数。次数越高,传播越广——应更换。

熵估计表示什么?

粗略启发式:长度 × 按字符类估计的字母表的 log2。不是实验室审计,也不保证强度。

“未找到”是否等于绝对安全?

否。HIBP 不完整;密码仍可能偏弱或在该语料之外泄露。

哪里获取新密码?

打开 passgen.dmosk.net——在浏览器中生成。

服务免费吗?

是——无需注册,检查不收费。

能完全离线工作吗?

强度估计是本地的。泄露检查需要访问 HIBP API 的网络。

若 HIBP 不可用或 CORS 失败?

会看到连接错误。请稍后重试;页面上的强度估计可能仍可用。

使用哪种哈希算法?

密码的 SHA-1,这是 HIBP k-匿名 range API 的要求。

会保存检查历史吗?

不会。输入的密码不会发到我们这边,也不会写入我们的数据库。