密码破解时间估算器
输入密码,然后查看透明的熵计算以及在几个明确标记的攻击场景中诚实的破解时间估计 - 完全在浏览器中计算,而不是神秘的强度分数。
结果
大多数密码强度计都会显示一个彩色条和一个虚构的标签——“弱”、“好”、“强”——无法检查其背后的原因。该工具的作用相反:它显示计算的每一步。输入密码并观察它检测您使用的字符集(小写、大写、数字、符号),将生成的池大小相加,并将密码的确切长度和池大小代入标准熵公式,即熵 = 长度 x log2(池大小),这样您就可以自己验证数字,而不是相信黑匣子。
熵本身并不能说明全部情况,因此该工具还会寻找使密码比原始长度更容易被猜测的模式:连续运行字符(如“abc”或“456”)、重复字符运行(如“aaa”),以及与大约 100 个有史以来最常见泄露密码的小捆绑列表的精确匹配。这些都不是与实时泄露数据库的连接——它是一种诚实的离线启发式——但是当找到匹配时,用于破解时间表的有效熵就会减少(或者,对于通用密码匹配,上限接近该列表的大小),因为真正的攻击者会首先尝试明显的猜测,而不管理论密钥空间大小如何。
破解时间表将有效熵转化为跨越实际攻击范围的五种场景下的实时估计:具有速率限制的在线登录表单(约 100 次猜测/秒)、无速率限制的在线表单(约 1,000 次猜测/秒)、针对 bcrypt、scrypt 或 Argon2 等缓慢且故意昂贵的哈希的离线攻击(约 10,000 次猜测/秒)、针对 MD5 等快速无盐哈希的离线攻击, SHA-1 或 NTLM 在单个消费者 GPU 上(约 100 亿次猜测/秒),以及在大型多 GPU 集群上相同的快速哈希破解(约 1 万亿次猜测/秒)。这些速率是说明性的、数量级的数字,取自常见发布的硬件和哈希基准,而不是与任何特定攻击者、设备或年份相关的预测,它们正是为什么相同的密码可以“即时”对抗快速离线哈希,而“几个世纪”对抗缓慢、速率受限的哈希。
上面的所有内容都直接在浏览器选项卡中以纯 JavaScript 字符串分析和 Math.log2 算术运行。没有加密散列,没有服务器往返,最重要的是,该工具中没有任何类型的网络请求 - 您键入的密码永远不会在任何地方传输、记录或存储,并且如果您在加载后断开与互联网的连接,整个页面将继续工作。