随机密码生成器
按所选长度、大写、小写、数字、符号四类字符与易混淆字符排除规则批量生成随机密码,保证每类至少出现一次,并按字符集大小与长度计算信息熵给出弱、中、强、极强强度分级,全程在浏览器本地完成。
数据来源:RFC 4086(随机性要求)与 Shannon 信息熵口径 log2(字符集大小)×长度
生成结果
| 序号 | 密码 | 长度(位) | 熵(bit) |
|---|---|---|---|
| 1 | L.NP^-2DsITx(@}T | 16 | 103.6 |
| 2 | H;;*G4qtD<FJ1sU4 | 16 | 103.6 |
| 3 | {HnNzew(7!hdE[PA | 16 | 103.6 |
| 4 | ;p^FO}X}p^A>v2Tk | 16 | 103.6 |
| 5 | ow6X<Y60{]P=2>dq | 16 | 103.6 |
强信息熵 103.6 bit · 穷举约需 以人类时间尺度看无法穷举
L.NP^-2DsITx(@}TH;;*G4qtD<FJ1sU4{HnNzew(7!hdE[PA;p^FO}X}p^A>v2Tkow6X<Y60{]P=2>dq
熵按 log2(字符集大小) × 长度 计算,分级门槛为 60 / 80 / 120 bit,属粗略估算,未考虑口令字典、个人信息与键盘布局模式,因此"极强"不等于绝对安全。按每秒 1e11 次尝试的离线爆破粗算,穷举完整空间约需 以人类时间尺度看无法穷举。所有密码只在本页内存中生成,不发送任何网络请求。
本页所有计算在浏览器内完成,输入内容不会被上传。
计算口径
字符集按勾选类别合并(排除易混淆字符时先剔除 i l 1 I O 0),先各自随机取 1 个字符保证规则满足,再用整体字符集补足到目标长度,最后做 Fisher-Yates 洗牌打乱位置。信息熵 = log2(合并后字符集大小) × 密码长度;分级:小于 60 bit 为弱、60—80 为中、80—120 为强、大于 120 为极强。随机数取自 crypto.getRandomValues,不可用时退回 Math.random 并在结果中标注较弱。
使用说明
- 注册新账号建议 16—20 位并勾选符号,熵可超过 100 bit
- 需要在电话里念给对方时勾选"排除易混淆字符",或改用可读的多个单词组合
- 生成后立刻存入密码管理器,不要用截图或聊天工具传递
常见问题
符号一定要加吗?
长度比字符类别更重要。同样 100 bit 熵,20 位纯小写字母与 14 位四类混合字符都够用;加符号主要防的是只要求字母数字的弱口令爆破字典,但要注意部分网站不允许特殊符号。
排除 i l 1 I O 0 会降低强度吗?
会略微降低:纯字母数字时字符集从 62 个减到 56 个,16 位的熵从 95.3 bit 降到 92.4 bit,影响约 3 bit,换来的是人工辨认与录入更可靠,对需要口头传递的密码通常是划算的。
这个页面会记住我的密码吗?
不会。工具是纯前端脚本,生成过程只有内存中的字符串,没有表单提交、没有网络请求,也没有本地存储写入,关闭页面即消失。