随机密码生成
生成随机密码,用加密随机数,并估算强度。长度越长、字符类型越多越难猜。
字符集:小写字母、大写字母、数字。排除易混字符会去掉 0 O o 1 l I 等,方便手抄。
怎么算强度
强度用信息熵估算:长度乘以 log2(字符集大小)。例如 16 位、包含大小写字母和数字,字符集 62 个,熵约 16 × 5.95 ≈ 95 比特。只有小写字母时字符集 26 个,16 位只有约 75 比特。一般 60 比特以下偏弱,80 比特以上比较稳妥。
熵只反映「随机程度」,前提是真随机并且不被泄露。这里用 crypto.getRandomValues 取随机数,并用拒绝采样避免取模偏差,比 Math.random 更可靠。
再强的密码也不要重复使用。建议配合密码管理器保存,并给重要账号开启两步验证。本页在浏览器本地生成,密码不会上传,但仍建议用密码管理器而不是复制到别处。