高级密码生成器
一次最多生成 100 个密码,支持自定义符号集、额外或排除字符、不重复模式和精确熵值。完全在浏览器中运行。
作为独立字符集加入字符池,例如带重音的字母。
每个密码都通过 crypto.getRandomValues 从 89 个字符组成的字符池中均匀随机抽取。在 20 个字符和所选规则下,共有 2^129.4 种可能的密码,即 129.4 位熵。
什么是 高级密码生成器?
高级生成器让你完全控制字符表:编辑符号集、添加带重音字母等额外字符、排除系统不接受的字符、禁止重复字符,并一次创建最多 100 个密码。它会报告你所设置的精确熵值。
如何使用 高级密码生成器
- 选择长度(4–1024)和要创建的密码数量(1–100)。
- 选择字符集,并编辑符号集以匹配目标系统接受的符号。
- 可选填额外字符和不使用这些字符,并勾选字符不重复。
- 点击重新生成,然后复制,或把列表下载为文本文件。
示例
Length 20, upper + lower + digits, no look-alikes, no repeats, 3 passwords
QqcLj5RgsKmHYZ4dkubN 4MLT9KXU7mneYoxd8isW AWBrvR3QLS9C7gaYFpfV (111.1 bits each)
输出是随机的;你得到的密码会不同。
何时使用 高级密码生成器
当系统有特殊的密码规则(受限的符号列表、禁用字符、十六进制这类固定字符表),或你需要一次生成许多密码(例如开通账号)时使用。对于日常的单个密码,基础生成器更简单。
高级密码生成器 的工作原理
所选字符集、自定义符号集和额外字符构成互不相交的分组;排除字符和易混淆字符会被移除。字符使用 crypto.getRandomValues 和拒绝采样抽取。启用字符不重复时,会用无偏的 Fisher–Yates 洗牌打乱字符池,并取前 N 个字符。要求每个分组都出现是通过拒绝整个密码来实现的,因此输出保持均匀。熵是精确数量的 log2:N^L(不重复时为降阶乘 N!/(N−L)!),并对必选分组用容斥原理修正。
常见用例
- 为新用户账号批量开通初始密码
- 为只接受某些符号的系统创建密码
- 通过额外字符生成仅含十六进制或仅含数字的密钥
- 生成不含会破坏 shell 脚本或配置文件的字符的密码
安全提示
下载列表后,文件保存在你的设备上;密码分发完毕后请删除它。请通过与用户名不同的渠道发送初始密码。
常见问题
“字符不重复”会让密码更强吗?
不会,反而略弱:它减少了可能性。它只是为拒绝重复字符的系统而存在。熵值会显示其确切影响。
如何生成仅含十六进制的密钥?
取消勾选大写、小写和符号,保留数字,并在额外字符中输入 abcdef。此时每个字符恰好带有 4 比特。
批量生成的密码之间相互独立吗?
是的。每个密码都是从安全随机数生成器中单独抽取的;知道其中一个并不会泄露其他密码的任何信息。
为什么不重复模式有长度限制?
不重复时,使用的字符数不能超过字符池中的字符总数,因此长度不得超过字符池大小。