UPTools UPTools

密码生成器

生成随机强密码,支持自定义长度、字符类型和批量生成

本工具在浏览器本地运行,不会上传你的数据,保护你的隐私安全。
密码强度很强

这是什么工具?

密码生成器工具可以生成随机强密码和安全字符串。支持自定义密码长度、字符类型(大写字母、小写字母、数字、特殊符号),可排除易混淆字符(0/O、1/l/I),支持批量生成和密码强度提示。使用浏览器 Crypto API 生成安全随机数,所有生成过程在本地完成。适用于账号密码、API Key、安全口令等场景。

如何使用?

  1. 1 设置密码长度和字符类型
  2. 2 可选排除易混淆字符
  3. 3 点击「生成密码」获取随机密码
  4. 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

相关工具