随机密码生成器
自定义长度与字符类型,一键生成 5 个高强度随机密码,并给出基于信息熵的强度评估。密码由浏览器加密安全随机源在本地生成,无需注册,数据不上传。
点击每行右侧的"复制"按钮即可复制对应密码。密码仅存在于当前页面内存中,刷新或重新生成后不会保留任何记录。
使用说明
- 拖动滑块选择密码长度,默认 16 位;勾选或取消字符类型复选框自定义字符集。
- 如需人工抄写密码,建议保持"排除易混淆字符"开启,避免 i、l、1、o、0 等形近字符。
- 点击"生成密码"按钮即可批量生成 5 个密码;调整长度或字符类型后会自动重新生成。
- 点击每行右侧的"复制"按钮复制密码,建议保存到密码管理器中妥善保管。
实现规则说明
随机源使用浏览器原生的 crypto.getRandomValues 接口,它基于操作系统级加密安全随机数生成器(CSPRNG),随机性与不可预测性远高于普通 Math.random。为保证每个字符被选中的概率完全均等,本工具采用拒绝采样算法:先计算随机值上限对字符集大小的整数倍边界,落在边界之外的随机值直接丢弃重取,从而消除取模运算带来的微小概率偏差。强度评估使用信息熵公式:熵 = 密码长度 × log2(有效字符集大小),单位为比特,熵越高表示暴力破解所需的尝试次数越多。当熵低于 40 比特判定为弱,60 以下为中,80 以下为强,80 及以上为极强。
常见问题
为什么本地生成密码更安全?
本工具的生成逻辑完全在您的浏览器中运行,密码不经过任何服务器,页面也不包含统计或上报脚本,即使离线打开本地文件也能正常使用。相比之下,部分在线生成器会把生成请求发送到服务器,存在传输与日志留存风险。配合 HTTPS 网页或本地文件使用,可以最大限度避免密码在生成环节泄露。
熵是什么?怎么判断密码强度?
熵衡量密码的不确定性,单位是比特,计算方式为密码长度乘以单个字符随机性的对数值。例如 16 位密码从 62 个大小写字母加数字中随机选取,熵约为 16 × 5.95 ≈ 95 比特,暴力破解平均需要尝试 2 的 94 次方量级的组合,以现有算力在现实中不可行。需要注意,熵只对随机生成的密码有意义,包含生日、姓名、常见单词的密码即使很长也很容易被字典攻击破解。
密码应该多久更换一次?
对于普通网站账户,安全界目前的共识是:高强度且唯一的密码无需定期强制更换,重点是为每个网站使用不同密码,防止一处泄露殃及全部账户。建议优先启用两步验证,一旦得知某网站发生数据泄露,立即更换在该网站以及所有使用相同密码的账户。重要账户(支付、邮箱、主密码库)可每半年到一年主动更换一次。