随机密码生成

生成随机密码,用加密随机数,并估算强度。长度越长、字符类型越多越难猜。

字符集:小写字母、大写字母、数字。排除易混字符会去掉 0 O o 1 l I 等,方便手抄。

怎么算强度

强度用信息熵估算:长度乘以 log2(字符集大小)。例如 16 位、包含大小写字母和数字,字符集 62 个,熵约 16 × 5.95 ≈ 95 比特。只有小写字母时字符集 26 个,16 位只有约 75 比特。一般 60 比特以下偏弱,80 比特以上比较稳妥。

熵只反映「随机程度」,前提是真随机并且不被泄露。这里用 crypto.getRandomValues 取随机数,并用拒绝采样避免取模偏差,比 Math.random 更可靠。

再强的密码也不要重复使用。建议配合密码管理器保存,并给重要账号开启两步验证。本页在浏览器本地生成,密码不会上传,但仍建议用密码管理器而不是复制到别处。