密码生成器
生成随机强密码,支持自定义长度、字符类型和批量生成
这是什么工具?
密码生成器工具可以生成随机强密码和安全字符串。支持自定义密码长度、字符类型(大写字母、小写字母、数字、特殊符号),可排除易混淆字符(0/O、1/l/I),支持批量生成和密码强度提示。使用浏览器 Crypto API 生成安全随机数,所有生成过程在本地完成。适用于账号密码、API Key、安全口令等场景。
如何使用?
- 1 设置密码长度和字符类型
- 2 可选排除易混淆字符
- 3 点击「生成密码」获取随机密码
- 4 复制密码或批量生成多个
常见问题
密码会上传服务器吗?
不会,密码在浏览器本地使用 Crypto API 生成。
生成的密码安全吗?
使用浏览器的 Crypto API 生成随机值,比普通 Math.random 更安全。
推荐密码长度是多少?
建议至少 12 位,更推荐 16 位以上。
可以批量生成吗?
可以,支持一次生成多个密码。
适用场景与示例
- 为新注册的账号生成互不重复的强密码,避免多站点复用同一个密码
- 生成 API Key、Access Token、Secret,供服务间调用和鉴权使用
- 生成 Wi-Fi 密码、数据库连接串中的随机口令
- 开发测试时批量造随机字符串作为占位或测试数据
输入
长度 16,含大小写字母+数字+符号,排除易混淆字符
输出
7k$mP2vQ!nRx9&La
💡 每次生成结果都不同;排除 0/O、1/l/I 后更便于人工辨认和输入。
原理与常见错误
安全的随机密码必须用密码学安全的随机数生成器(CSPRNG),而不是 Math.random()。浏览器里用 window.crypto.getRandomValues(),它依赖操作系统提供的熵源(如硬件噪声),输出不可预测且分布均匀;Math.random() 只是可被预测的伪随机数,绝不能用于生成密码或 Token。密码强度由字符集大小和长度共同决定,熵值 ≈ log2(字符集大小) × 长度:62 个字母数字字符每位约 5.95 bits,16 位约 95 bits 熵,远超 NIST 建议的最低线;加入符号扩大字符集后,同样长度的熵更高。建议普通账号至少 12 位、重要账号 16 位以上。排除易混淆字符(0/O、1/l/I)不影响安全性,但能显著降低人工输入的错误率。
⚠️ 用 Math.random() 生成密码
它可被预测,必须改用 crypto.getRandomValues()。
⚠️ 密码长度只有 6-8 位
暴力破解成本太低,至少 12 位,重要账号 16 位以上。
⚠️ 多个账号复用同一个密码
一处泄露会波及全部,应每个站点独立生成。
⚠️ 只用了数字或纯小写字母
字符集太小导致熵不足,应混合大小写、数字和符号。
参考与更新
最后更新:2026-06-23