什么是 密码生成器?
强密码是抵御账户被未授权访问的第一道防线。密码生成器会创建随机、在密码学上不可预测的密码,几乎无法被猜中或通过暴力破解攻破。我们的免费在线密码生成器让你配置所需的确切长度和字符集,然后使用浏览器内置的加密随机数生成器即时生成新密码。
该工具使用 window.crypto.getRandomValues()——所有现代浏览器都内置的 Web Cryptography API。这与银行应用、安全令牌和加密密钥生成所用的是同一项技术。你生成的密码绝不会传输到任何服务器、绝不被记录、也绝不被存储。它们只在你需要的时间内存在于浏览器的内存中。
大多数人低估了弱密码被破解的速度。一个 6 位全小写密码只有 3.08 亿种可能组合——现代硬件可在不到一秒内暴力破解。一个混合大小写、数字和符号的 16 位密码有 10²⁹ 种组合——即使用当今最快的计算机也需要数万亿年。我们的生成器只需一次点击即可创建这种强度的密码。
使用场景
以下是人们每天使用 密码生成器 的最常见场景。
创建安全的账户密码
每个在线账户都应有唯一的强密码。密码重用是账户被攻破最常见的原因之一:当某项服务被入侵、密码泄露后,攻击者会在数百个其他网站上测试这些凭据(撞库攻击)。使用生成器为每个新账户创建唯一的 16-20 位密码,然后存入密码管理器。你无需记住密码——只需记住保险库的主密码。
生成 API 密钥和密钥
应用密钥、API 密钥、会话令牌、JWT 密钥和加密密钥都需要由适当的加密源生成的高熵随机字符串。我们的工具使用 CSPRNG(密码学安全伪随机数生成器),这是安全关键密钥的正确来源。为密钥生成包含所有字符类型的 32-64 位字符串。对于环境变量密钥,仅使用字母数字以避免 shell 脚本中的引号问题。
测试密码强度要求
在为 Web 应用构建用户认证时,你需要能覆盖验证逻辑每条分支的测试密码:过短、过长、缺少必需字符类型、处于边界条件以及包含极端字符的密码。快速生成各种测试密码,而非手动输入,确保在缺陷进入生产环境前就发现验证错误。
临时访问凭据
当授予承包商、顾问或同事对系统的临时访问权限时,为该会话生成一个强随机密码。安全地共享它,然后在访问期结束后立即更改密码。其随机性确保该临时凭据不会在别处被重用,也无法根据与你的组织相关的任何模式被猜出。
Wi-Fi 网络密码
你的 Wi-Fi 密码是网络与信号范围内任何设备之间的第一道屏障。路由器的默认密码广为人知,且常被公开数据库收录。为你的网络生成 12-16 位随机密码,在安全性与偶尔在电视、游戏机或手机键盘上输入的实际需要之间取得平衡。对于家庭网络,不含符号的字母与数字组合通常已足够,且更易在非标准键盘上输入。
生成 PIN 和数字代码
将字符集设为仅数字,生成 4-8 位字符串,用于 ATM 的 PIN、设备解锁码、门禁码、一次性密码测试,或任何需要数字随机性的场景。加密随机源确保生成的数字不会偏向某些数位——这是实现不佳的随机数函数中常见的缺陷。
示例
强账户密码
用于电子邮件或银行等高价值账户的 16 位密码。
kR9#mW2@pN4$xQ8! API 密钥
用于存放在 .env 文件中的应用密钥的 32 位字母数字字符串。
aK8nR2mP5xW9cD4fT6vB3hJ7qL0eN1s Wi-Fi 密码
不含符号的 12 位密码,便于在设备键盘上输入。
Kx4RmP9nWs2T 密码生成器 使用技巧
- 务必将生成的密码存入密码管理器(Bitwarden、1Password、Dashlane)——切勿存入笔记应用、文本文件或电子邮件。
- 在每个支持的账户上启用双因素认证。强密码加 2FA 让账户即使密码泄露也极难被攻破。
- 随机的 12 位密码比你自己想出的 25 位易记短语更强——来自随机性的熵胜过来自人类模式的熵。
- 对于必须手动输入的 Wi-Fi 密码,在生成器设置中排除易混淆字符(0/O、1/l/I)。
- 如果你不慎展示、截图或将密码粘贴到错误的地方,请立即重新生成。
常见问题解答
密码生成器有多安全?
生成器使用 window.crypto.getRandomValues(),这是所有现代浏览器内置的密码学安全伪随机数生成器(CSPRNG)。该 API 专为安全关键应用设计,与生成 TLS 会话密钥、OAuth 令牌和加密随机数所用的是同一来源。其输出在统计上与真正的随机性无法区分,即便知道之前生成的值也无法预测。
生成的密码会被存储在某处吗?
不会。密码仅在页面打开期间存在于浏览器的 JavaScript 内存中。它绝不会发送到任何服务器、绝不存入 localStorage 或 Cookie、绝不被任何分析系统记录,也绝不被缓存。一旦你离开页面或关闭标签页,密码就从我们这边彻底消失。因此我们强烈建议在关闭工具前立即将密码复制到你的密码管理器中。
我的密码应该多长?
对大多数账户,混合所有字符类型的 16 位密码约有 10²⁹ 种可能组合——以当前或近期的任何硬件都无法暴力破解。对于高价值账户(电子邮件、银行、密码管理器主密码),使用 20-32 位。对于论坛和新闻通讯等低风险账户,12 位仍然极强。长度比复杂度更重要:20 位的全小写密码比 10 位的大小写混合密码更强。
我应该在密码中加入符号吗?
加入符号会显著提高熵。一个仅含小写的 12 位密码有 26¹² ≈ 950 亿种组合。使用所有字符类型(94 个可打印 ASCII 字符),同样 12 位的密码有 94¹² ≈ 475 万亿种组合——约强 5,000 倍。不过有些网站会限制可接受的符号(尤其是 !、@、#、$)。如果某网站拒绝你的密码,请不带符号重新生成。切勿手动修改生成的密码——直接重新生成即可。
密码生成器和口令短语生成器有什么区别?
密码生成器创建随机字符串(kR9#mW2@pN)。口令短语生成器创建随机词典词序列(correct-horse-battery-staple)。口令短语更易输入和记忆,但需要 5 个以上的词才能达到 12 位随机密码的安全性。对于存放在管理器中、你从不输入的密码,随机字符密码在同等安全性下更紧凑。口令短语最适合你必须记住的密码:磁盘加密、密码管理器主密码、SSH 密钥口令。
我可以在多个网站使用同一个密码吗?
不可以。密码重用是账户被接管的主要原因之一。当某网站被入侵(这种事不断发生——haveibeenpwned.com 追踪了数十亿条泄露凭据)时,攻击者会用自动化工具在数小时内将泄露的密码在数百个其他服务上测试。这称为撞库。如果你重用了那个密码,使用它的每个账户都会被攻破。密码管理器让为每个网站设置唯一密码变得轻而易举——没有任何实际理由重用密码。
为什么长度比复杂度更重要?
从数学上讲,密码强度以熵的比特数衡量——即可能组合总数的对数。每增加一个字符,搜索空间就乘以字符集的大小。一个 16 位全小写密码(26¹⁶)的熵比一个 10 位大小写加符号密码(94¹⁰)更高。长度按指数复合增长;复杂度按线性相加。对于给定的字符集,每增加一个字符都是强度的倍增。
什么会让密码容易被破解?
当密码包含词典词(包括 p@ssw0rd 等常见替换)、使用键盘模式(qwerty、123456、asdfgh)、过短(无论复杂度如何都不足 10 位)、从泄露数据库中重用,或遵循可预测格式(姓名 + 年份 + 符号)时,就容易被破解。最常见的 10 个密码占所有被泄露密码的 30% 以上。随机生成器在设计上避免了所有这些陷阱。