随机密码生成器
在线生成强随机密码,长度与字符集自由配置。纯浏览器本地运算,可离线使用。
在线即时生成强随机密码:拖动滑块设定 8 到 128 位长度(常用 12、16、32 位),勾选大写字母、小写字母、数字和符号,一键复制即可使用。生成过程实时计算熵值,让你清楚密码到底有多强。全部运算在浏览器本地用 crypto.getRandomValues() 完成,可断网离线运行,密码不会发送到任何服务器。
103 bits — Excellent
如何生成一个强密码
- 1
设定密码长度
拖动长度滑块在 8 到 128 位之间选择,常用 12、16 或 32 位。一般账号建议至少 16 位,熵值会随长度实时更新,方便你直观看到强度变化。
- 2
勾选字符类型
分别开关大写字母(A–Z)、小写字母(a–z)、数字(0–9)和符号(!@#$… 等)。四类全开熵值最高;若网站不支持符号,取消勾选后工具会自动重新计算强度。
- 3
点击生成
点击「生成」即用 crypto.getRandomValues() 产生一个密码学随机的新密码。每次点击都是全新结果,需要多个就连续点击批量生成,上一个不会被保留。
- 4
复制密码
点击「复制」按钮把密码放入剪贴板,直接粘贴到密码管理器(如 1Password、Bitwarden)或目标网站。不要手动逐字输入,以免抄错。
随机密码生成器常见问题
- 这个密码生成器是在线的还是可以离线使用?
- 两者皆可。工具完全在浏览器本地运行,首次打开后即使断网也能继续生成密码——所有运算都在你的设备上完成,不依赖服务器。你可以打开后断开网络验证:功能照常工作,密码不会发送到任何地方。
- 密码长度设多少位比较安全?12 位、16 位还是 32 位?
- 一般账号建议至少 16 位,重要账号(如主密码、加密钱包)建议 20 位以上甚至 32 位。12 位在勾选四类字符时基本够用,但 16 位已超过 100 bit 熵值,暴力破解在现有算力下不可行。本工具支持最高 128 位,长度越长越安全。
- 怎么批量生成多个随机密码?
- 设定好长度和字符集后,每点击一次「生成」就会用 crypto.getRandomValues() 产生一个全新密码,连续点击即可快速得到多个互不相关的密码。每个结果都是独立随机的,不会保留上一个,适合一次性给多个账号配置不同密码。
- 生成的密码真的是随机的吗?背后是什么原理?
- 是的。工具调用浏览器的 crypto.getRandomValues(),这是密码学安全的随机数生成器(CSPRNG),和 TLS、加密库使用的是同一套底层接口,安全性远超普通的 Math.random()。原理上它从操作系统的熵池取随机字节,再映射到你勾选的字符集,保证每一位都不可预测。
- 应该勾选哪些字符类型?
- 想要最强密码就把四类全部勾上:大写字母(A–Z)、小写字母(a–z)、数字(0–9)和符号(!@#$… 等)。如果某些网站不允许符号,取消勾选即可,工具会自动重新计算熵值,你依然能看到当前密码的真实强度。
- 这个工具开源吗?密码会不会被偷偷上传?
- 工具不会上传或留存任何密码,全部生成逻辑都在浏览器前端执行,你可以打开开发者工具的网络面板确认没有任何请求外发,或直接断网测试。由于运算纯本地、可审查,安全性可以自行验证,无需信任远端服务。
参考资料
- NIST SP 800-63B 数字身份指南(身份验证)
美国联邦关于密码长度、复杂度与存储要求的标准。建议密码至少 8 位(越长越好),并明确反对强制定期更换密码的做法。
- OWASP 密码存储速查表
关于密码哈希算法(Argon2id、bcrypt、scrypt)及工作因子的实战指引——在服务端存储密码时的必读参考。
- MDN — Crypto.getRandomValues()
用密码学安全随机值填充类型化数组的浏览器 API——本生成器随机性的底层来源。