← 退出

密码生成器

自定义规则生成随机密码

MK6&J?%YhEm35wCa

预估强度 ≈ 98 bit (强) · 已自动排除容易看错的字符(如 0/O、1/l/I)

关于密码生成器

这个生成器面向需要给新账号、路由器、测试环境快速拿一个随机密码的人。它从你勾选的字符类别里逐位随机抽取,长度 6 到 32 位,一次可出 1 到 20 个。它只负责生成:不联网、不保存、不检查密码是否出现在泄露库里,也不会替你记住它。

使用步骤

  1. 拖动「密码长度」滑块(6 至 32,默认 16)。
  2. 拖动「一次生成」滑块(1 至 20 个),大于 1 时会以列表形式显示多个密码。
  3. 勾选「大写字母」「小写字母」「数字」「符号」中需要的类别,默认全选。
  4. 点「重新生成」。注意:改动滑块或勾选框并不会自动重新生成,必须再点一次按钮;页面刚打开时会自动生成一个。
  5. 点每条密码旁的复制按钮;下方一行小字显示预估强度。

它到底用什么生成、字符集是什么

随机数来自浏览器的 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 以上为中等,其余为较弱。这个数字只是长度和字符池的数学估算,并不会检查字典词或常见模式——但因为密码是真随机抽取的,这类问题基本不会出现。

支持范围与已知限制

  • 长度限制 6–32,批量限制 1–20;没有自定义字符、没有排除/追加字符、没有生成易记词组密码的功能。
  • 不保证每个勾选的类别都至少出现一次。例如 6 位全选时,有一定概率抽不到符号;如果网站强制要求每类至少一个,请多点几次或手动检查。
  • 字符里去掉了 0/O/1/l/I,便于抄写,但每位的取值范围略小;这已经计入强度估算,影响很小。
  • 四个类别全部取消勾选时,密码区只显示「—」,不会有任何提示。
  • 强度估算里小写字母按 24 个算,实际是 25 个,略微偏保守,不影响等级判断。
  • 符号集只有 13 个,若目标网站不接受其中某些符号(如 $ 或 %),需要取消「符号」或自己替换。

常见问题:多长算够用?

页面的分级里 80 bit 即为「强」,16 位四类全选已达到约 98 bit。随机生成的密码,长度比花样更重要;重要账号建议 16 位以上,并配合密码管理器。

常见问题:会不会被网站记录下来?

不会。生成在浏览器内完成,没有网络请求提交密码,也没有使用本地存储保存;刷新页面后之前的密码就消失了,所以生成后请立刻复制到密码管理器里。

常见问题:为什么没有 0、O、1、l 和 I?

它们在多数字体里长得很像,抄写或电话告知时容易看错,所以字符池里被剔除了。代价是每位少了几种可能,强度略低,但可以用多加一两位补回来。

常见问题:同一组设置每次点击结果都不一样吗?

是的,每次点击都会重新抽取,没有种子也不会重复同一结果。想保留的密码请在点下一次之前复制。

数据处理说明

密码只在你的浏览器内存中存在,不上传、不记录;复制按钮只是写入你的系统剪贴板。