密码生成器
按需要的长度和字符集生成随机密码,全过程在本机完成。
16
字符集
多数密码生成器要求先信任运行它的网站,这个工具把这个问题去掉了:密码由浏览器的 crypto.getRandomValues() 生成,不离开当前页面。整个过程没有服务器请求,没有日志,也不需要账号。
选长度、勾选字符类别、复制结果即可。强度条随设置变化实时更新,能看到每个选项实际贡献多少 bit,而不用靠猜。
使用方法
- 保持 16 位默认长度,或按站点接受的上限拖动滑块。
- 只有站点拒收符号时才取消勾选——相比增加长度,符号带来的收益很小。
- 把密码直接复制进密码管理器。
随机性到底从哪来
生成时调用 crypto.getRandomValues(),也就是浏览器用于 TLS 的同一套 Web Crypto API。这里不能用 Math.random():它是可预测的伪随机数发生器,每个页面只播种一次,输出可以被少量样本反推出来。
取字符用的是拒绝采样(rejection sampling),而不是取模。把 32 位随机值对 88(全字符集大小)取模时,前 24 个字符会比其余字符出现得略多,因为 2^32 不能被 88 整除;拒绝采样丢弃落在 88 最大整数倍之外的值,让每个字符保持等概率。
审校于 2026-10-21。这个工具完全在你的浏览器里运行——没有服务器、不需要账号,生成的内容也不会被保存。
常见问题
这个密码生成器用起来安全吗?
密码用 Web Crypto API 在本地生成,从不传输。剩下的风险全在设备一侧:如果设备已被恶意软件控制,任何生成器都保护不了你。
长度该选多少?
四类字符全开的 16 位约 103 bit,已超出任何现实的离线破解。磁盘加密这类难以轮换的凭据,用 20 位以上。
为什么勾选一个选项密码就变了?
每个选项都会改变字符集,所以工具会立即重新生成。这样屏幕上显示的内容始终与当前设置一致。
能用于银行账号吗?
可以,前提是存进密码管理器。一枚记不住的密码,只有在别的东西替你记住时才有用。
相关工具
更多密码工具。