自定义规则生成随机密码
预估强度 ≈ 98 bit (强) · 已自动排除容易看错的字符(如 0/O、1/l/I)
这个生成器面向需要给新账号、路由器、测试环境快速拿一个随机密码的人。它从你勾选的字符类别里逐位随机抽取,长度 6 到 32 位,一次可出 1 到 20 个。它只负责生成:不联网、不保存、不检查密码是否出现在泄露库里,也不会替你记住它。
随机数来自浏览器的 crypto.getRandomValues(密码学安全的随机数源),不是 Math.random。每一位取一个 32 位随机数,再对字符池大小取余来选字符,由于 2^32 远大于池子,取余带来的偏差可以忽略。字符集是:大写 24 个(去掉 I、O),小写 25 个(去掉 l),数字 2 到 9 共 8 个(去掉 0、1),符号 13 个:!@#$%^&*-_=+?。四类全选时池子共 70 个字符。
页面显示的「预估强度」就是 长度 × log2(字符池大小) 取整,假设每一位都是均匀独立随机抽取。池大小是按勾选类别累加:大写 24、小写 24、数字 8、符号 13。例如 16 位四类全选约 98 bit,显示「强」;12 位四类全选约 73 bit,显示「中等」;16 位只勾数字约 48 bit,显示「较弱」。阈值是 80 bit 以上为强,50 bit 以上为中等,其余为较弱。这个数字只是长度和字符池的数学估算,并不会检查字典词或常见模式——但因为密码是真随机抽取的,这类问题基本不会出现。
页面的分级里 80 bit 即为「强」,16 位四类全选已达到约 98 bit。随机生成的密码,长度比花样更重要;重要账号建议 16 位以上,并配合密码管理器。
不会。生成在浏览器内完成,没有网络请求提交密码,也没有使用本地存储保存;刷新页面后之前的密码就消失了,所以生成后请立刻复制到密码管理器里。
它们在多数字体里长得很像,抄写或电话告知时容易看错,所以字符池里被剔除了。代价是每位少了几种可能,强度略低,但可以用多加一两位补回来。
是的,每次点击都会重新抽取,没有种子也不会重复同一结果。想保留的密码请在点下一次之前复制。
密码只在你的浏览器内存中存在,不上传、不记录;复制按钮只是写入你的系统剪贴板。