在线密码生成器
自定义长度、字符集,批量生成高强度随机密码 · 浏览器本地运算,全程不上传服务器。
什么是密码生成器?
密码生成器是一种利用密码学安全随机数生成高强度、不可预测的字符串的工具。与人为编造的密码不同,机器生成的密码具有足够的熵(随机性),能有效抵御暴力破解、字典攻击和彩虹表攻击。本工具基于浏览器原生 Crypto API 的 getRandomValues 方法,这是 W3C 标准推荐的密码学安全随机数接口,比普通 Math.random() 安全性高出数个量级。
使用说明
1拖动"密码长度"滑块设定每位密码的位数(4–64),右侧数值实时显示。
2拖动"生成数量"滑块选择一次性生成的密码条数(1–50)。
3在字符集卡片中勾选需要的类型:大写、小写、数字、特殊符号,默认全部勾选。
4如需完全自定义字符,在"自定义字符池"填入任意字符,留空则沿用上方勾选。
5可选项:在"排除字符"填入容易混淆的字符(如 0oO、1lI),工具会自动跳过。
6开启"保证每种字符至少一次"开关,可确保结果中每类字符都存在,方便满足网站密码规则。
7点击"生成密码",结果以网格展示,每条可单独复制;也可一键"复制全部"。
如何评估密码强度?
密码强度取决于两个因素:长度和字符集大小。可用公式计算可能的组合数:候选字符数^长度。例如,仅用小写字母(26 个)的 8 位密码只有 26^8 ≈ 2×10^11 种组合;而大小写+数字+符号(约 94 个)的 16 位密码有 94^16 ≈ 3.7×10^31 种组合,前者可被暴力破解,后者在当前算力下实际不可破。
本工具对每条结果标注强度评级:弱(熵 < 40 bit)、中等(40–60 bit)、强(60–100 bit)、极强(> 100 bit)。建议日常使用"强"及以上级别的密码。
注意事项
① 生成的密码仅在当前浏览器会话中可见,页面关闭或刷新后不会自动保存,请及时复制并存储到可靠的密码管理器(如 Bitwarden、1Password、KeePass)。
② 不要在多个网站重复使用同一密码。理想做法是"一个网站一套独立密码",配合密码管理器自动填充。
③ 特殊符号并非所有系统都支持,某些老旧系统可能限制登录界面接受的字符。银行、政府系统等如有字符限制,请按其规则调整字符集。
④ 本工具全部在浏览器本地运行,文件和网络请求均不涉及密码内容,可离线使用。但仍建议在受信任的设备上操作,避免在公共电脑生成重要密码。
⑤ 密码长度与字符集需在安全与可用性之间平衡:过于复杂的密码如果无法妥善保存,反而容易导致用户写下纸质备忘,降低安全性。
常见问题(FAQ)
Q生成的密码真的安全吗?
A:本工具使用 window.crypto.getRandomValues,这是浏览器内置的密码学安全随机数生成器,符合 FIPS 140 等标准。相比 Math.random()(可被预测),安全性有本质区别。所有计算在本地完成,无网络传输。
Q为什么有的网站不支持我的强密码?
A:部分老旧系统限制密码长度(如最多 16 位)或仅允许特定字符。遇到此类情况,请适当缩短长度或精简字符集以符合对方规则,但仍应保持尽可能高的复杂度。
Q是否需要定期更换密码?
A:主流安全机构(如 NIST)目前的观点是:只要没有证据表明密码已泄露,不必强制定期更换。重点是使用足够长、足够随机的密码,并为每个账户独立设置。若某服务发生数据泄露,则应第一时间更换该服务对应的密码。
Q批量生成的密码会重复吗?
A:理论上极低位概率会发生碰撞,但在 64 位长度、94 个字符池的条件下,重复概率低到可以忽略。若您需要绝对唯一性(如 API Key 场景),建议使用专门的 UUID 工具。
Q手机端 320px 窄屏能用吗?
A:页面容器按父级宽度 100% 自适应,无左右内边距,结果区使用自适应网格,可在 iPhone SE(320px)等小屏设备上正常操作。若系统过旧不支持 Web Crypto,页面会提示使用现代浏览器。
Q"保证每种字符至少一次"有什么用?
A:很多网站的密码规则强制要求"至少包含大写+小写+数字+符号"。开启此开关后,每条生成的密码都确保包含各类字符,无需反复重试即可直接满足注册要求。