密码统计

统计密码的字符数、UTF-8 字节数、大写、小写、数字、符号、不重复字符和连续重复,并给出香农熵与字符池熵。

在上方输入密码即可分析。不会发送到任何地方。

完全在浏览器中运行,您的数据不会被上传。

什么是 密码统计工具?

此工具把密码分解为数字:以 Unicode 字符计的长度、UTF-8 字节数和 UTF-16 码元数、各字符类别的数量、不重复字符数、出现最频繁的字符、最长的连续重复、香农熵和字符池熵、hashcat 掩码以及十六进制字节。

如何使用 密码统计工具

  1. 在密码栏中输入或粘贴密码。
  2. 查看统计网格;所有数值会随你输入实时更新。
  3. 如果某个系统按字节数限制密码,请查看 UTF-8 字节数。
  4. 如果需要精确的字节序列,请复制十六进制值。

示例

输入
Tr0ub4dor&3
输出
Length 11, UTF-8 bytes 11, unique 10, uppercase 1, lowercase 6, digits 3, symbols 1, most frequent "r" × 2, pool entropy 72.1 bits

11 个 ASCII 字符,对应 11 个 UTF-8 字节。

何时使用 密码统计工具

需要精确计数时使用,例如检查字节限制(bcrypt 只使用前 72 个字节),或排查系统为何拒绝某个密码。要判断强度,请使用强度检测器。

密码统计工具 的工作原理

密码按 Unicode 码点遍历。每个字符被归类为大写 A–Z、小写 a–z、数字、ASCII 符号、空格或其他 Unicode。字节数用 TextEncoder(UTF-8)统计。香农熵是对字符频率求 −Σ p·log2(p);字符池熵是 长度 × log2(各类别大小之和)。

常见用例

  • 对照 bcrypt 的 72 字节限制检查口令
  • 排查对字符计数方式不同的密码规则
  • 验证“至少 2 个数字”之类的策略要求
  • 检查含有表情符号或带重音字母的密码

常见问题

为什么长度和 UTF-8 字节数不同?

ASCII 之外的字符在 UTF-8 中占 2–4 个字节,例如 é 占 2 个字节,大多数表情符号占 4 个字节。

什么算符号?

32 个可打印的 ASCII 标点字符。其他非 ASCII 字符归为“其他 Unicode”。

UTF-16 计数有什么用?

JavaScript 和 Java 以 UTF-16 码元为单位衡量字符串长度,所以 maxlength 属性和一些 API 使用这个数字。

探索更多分类