免费隐私工具
这个密码泄露过吗?
数十亿个密码曾出现在数据泄露中,攻击者会最先尝试它们。在这里查一个。原始密码绝不离开你的浏览器:只发送本地指纹的前 5 个字符。下面可以看到确切发生的每一步。
离开你浏览器的是什么
你的密码留在本页
本页绝不发送、存储或记录原始密码。下面的一切都基于它的本地指纹进行。
你的浏览器计算一个 SHA-1 指纹
在本地完成,使用内建的 Web Crypto API:
只发送前 5 个字符
发出一个匿名请求。所有指纹开头相同的密码,看起来都和你的一模一样:
GET api.pwnedpasswords.com/range/
比对在这里完成
服务会返回该前缀下的数百个指纹结尾,并经过填充,让响应大小透露得更少。你的浏览器在本地比对它们。
在泄露数据中找到
这意味着攻击者的清单上已经有它。对任何使用它的账户,它都会位列最先被尝试的猜测之中。如果它还保护着你的什么东西,去那里改掉它,也不要在别处复用。长久之计:每个账户一个独一无二的密码,放进你信任的密码管理器。
2FA 备用码和恢复密钥该放在哪里才安全 →未在已知泄露中找到
它没有出现在泄露数据里。这是个好迹象,但不是保证。数据泄露源源不断,“还没泄露”替代不了一个足够长、专属一个账户、并配有两步验证登录的密码。
2FA 备用码和恢复密钥该放在哪里才安全 →无法连接检查服务
什么也没检查,除了这次尝试之外没有任何东西离开你的浏览器。请稍后再试。
k-anonymity 的巧妙之处
“这个密码泄露过吗?”若用朴素的方式来问,就得把密码发给别人,而这恰恰是绝不该做的事。k-anonymity 方案从不发送原始密码。服务收到的是一个由成千上万个可能密码共享的 5 字符哈希前缀,外加任何 Web 请求都有的常规元数据。
你的浏览器用 SHA-1 为密码生成指纹,然后只发送 40 个字符中的前 5 个。所有指纹开头相同的密码——数十万个——都会产生一模一样的请求,所以服务几乎无法得知你的密码是什么。它回复该前缀下所有已知泄露的指纹结尾,真正的比对则在你的浏览器里完成。
本页还会请求填充过的响应。这限制了响应大小可能透露的信息,但无法完全消除。而且和任何 Web 请求一样,服务仍会看到常规的网络元数据,比如你的 IP 地址。它永远看不到的,是密码本身,或足以识别它的那部分哈希。
有些东西不该住在备忘录应用里。
2FA 备用码、恢复密钥、解锁其余一切的密码。Sealby 把它们加密保存在你的设备上,除你之外,无人能读。
iPhone 和 iPad · iOS 17+ · 免费