随机密码生成
用密码学安全随机数生成强密码,附强度评估
快捷预设
生成选项
去掉 0/O/o、1/l/I、5/S 等视觉上难区分的字符,便于人工抄写。
强度评估
离线暴力破解耗时: 远超宇宙年龄
4 × 26 + 26 + 10 + 24 = 86
生成结果
2l3g}_7cZqOq+HmrMj+0GS!H:k)rg_;@m:G615S$]L#pe2cN7#nyn1}]v.ME12cAgC)K3{zX}EO^fnI#
最后更新:2026-10-11
工具介绍
密码的安全性取决于两件事:随机性够不够、长度够不够。本工具用浏览器的 WebCrypto 接口获取密码学安全随机数 —— 这是唯一适合用来生成密码的随机源,而 Math.random 是伪随机、可预测的,用它生成的密码存在被推算的风险。你可以配置长度与字符集、排除 0/O 这类易混淆字符,工具会同步给出信息熵和离线暴力破解的预估耗时,让你直观看到「加长两位」和「多加符号」哪一个更有效。生成过程完全在本地,密码不经过任何网络传输。
功能特性
密码学安全随机数
随机数来自浏览器的 crypto.getRandomValues,而不是 Math.random。后者可预测,不适合用于生成口令。
字符集自由配置
大写、小写、数字、符号可任意组合,按目标系统的密码策略灵活调整。
排除易混淆字符
一键去掉 0/O/o、1/l/I、5/S 等视觉上难区分的字符,方便人工抄写到纸上或其他设备。
强度量化评估
给出信息熵(比特)与离线暴力破解的预估耗时,把「够不够安全」从感觉变成可比较的数字。
快捷预设
提供强密码、易抄写、纯数字 PIN、超长四组常用配置,一键套用。
批量生成
一次生成多个密码,适合给多个账号或测试环境分配凭证。
怎么用
- 1
设置长度与字符集
选择长度、勾选需要的字符类型,或直接套用一组预设。
- 2
按需排除易混淆字符
如果密码需要手工抄写,建议开启「排除易混淆字符」。
- 3
查看强度评估
「强度评估」区会给出信息熵与破解耗时,据此判断是否需要加长。
- 4
生成与复制
点击「生成」得到密码,再逐个或一次性复制。
参数说明
- 长度
- 密码位数。长度每增加一位,破解难度就翻数倍,是最有效的加固手段。
- 生成数量
- 一次生成多少个密码。
- 字符类型
- 大写字母、小写字母、数字、符号四类,至少勾选一类。
- 排除易混淆字符
- 去掉视觉上难区分的字符,提高可抄写性,代价是字符集变小。
适用场景
- 给新注册的账号生成一个强密码
- 为多个测试账号批量生成互不相同的密码
- 给需要手工输入的设备(如路由器管理页)生成易抄写的密码
- 验证自己现在用的密码强度是否足够
常见问题
关于这个工具,你可能会问
用这个工具生成的密码安全吗?
随机源是安全的:crypto.getRandomValues 由操作系统提供密码学安全的随机数,这是浏览器里唯一适合生成口令的来源。但请注意,密码的安全性还取决于你怎么保存它 —— 生成后的传输与存储环节才是更常见的风险点。
为什么不用 Math.random?
Math.random 是可预测的伪随机数,知道种子或观察到足够多的输出后就有可能推算后续结果。用它生成的密码看着像随机的,实际上降低了安全强度。本工具在 WebCrypto 不可用时会直接报错,而不会退回 Math.random —— 静默降级会让你在不知情的情况下拿到弱密码。
密码会被记录或上传吗?
不会。生成完全在浏览器内存里进行,密码不发送到任何服务器,刷新页面后也不再保留。你可以打开开发者工具的网络面板确认没有任何相关请求。
信息熵是什么意思?
信息熵衡量的是密码的不可预测程度,单位是比特。粗略地说,每增加 1 比特,破解难度就翻一倍。一般建议重要账号的密码熵至少达到 60–80 比特。
破解耗时的估算准吗?
它是一个参考量级,不是精确预言。估算依据是离线暴力破解的假想速度,现实中还取决于攻击者的算力与目标系统是否限制了尝试次数。但用来比较「16 位」和「20 位」哪个更强是可靠的。
排除易混淆字符会降低安全性吗?
会略微降低,因为可用的字符集变小了。但换来的是可抄写性 —— 一个抄错了的强密码,不如一个抄对了的中等密码。密码需要人工输入时建议开启,纯复制粘贴的场景则不必。
应该多久换一次密码?
现代安全建议(如 NIST SP 800-63B)已不再推荐强制定期更换,因为这会促使用户做可预测的微小改动。更好的做法是:用足够长的随机密码、每个站点各不相同、存放在密码管理器中,并在发生泄露时立即更换。
能生成 PIN 码或 Wi-Fi 密码吗?
可以。选「纯数字 PIN」预设即可生成纯数字密码;若要给设备或访客使用,建议用「易抄写」预设(排除易混淆字符且不含符号),手输时更不容易出错。