utilduck
Home · 开发者 · 密码生成器

密码生成器

设置长度和字符类型,生成强随机密码。

强度
-
强度-

关于密码

强密码由长度和多种字符类型组合而成。每增加一种字符类型,可能的组合数就会成倍增加,使暴力破解更加困难。本工具使用浏览器内置的随机数生成器,密码不会离开您的设备。

怎么生成高强度随机密码?

生成高强度密码时,先选定字符池(大写字母、小写字母、数字、符号),再用密码学安全的随机数生成器为每个位置从字符池中随机选一个字符,重复到设定的长度。例:同时勾选四种字符类型、长度为 16 位时,本工具的字符池共 88 个字符,可能的密码组合约为 88^16(约 1.3 × 10^31)种。

随机密码生成与强度评估步骤

  1. 选择要包含的字符类型:大写字母、小写字母、数字和符号。
  2. 把选中的类型合并成一个字符池(例如四种类型全选时,本工具的字符池共 88 个字符:26 个大写 + 26 个小写 + 10 个数字 + 26 个符号)。
  3. 使用浏览器提供的密码学安全随机数生成器 crypto.getRandomValues(),为每个字符位置随机选取字符池中的一个索引。
  4. 按设定的密码长度重复这一随机选取过程,拼出完整字符串。
  5. 结合字符池大小和长度评估强度:字符类型越多、长度越长,可能的密码组合数量都会成倍增加。

密码组合空间公式

可能的密码数量 = (字符池大小) ^ (长度)
  • 字符池大小 = 可用字符的种类数(仅小写字母为 26,四种类型全选加本工具的符号集时最多为 88)
  • 长度 = 密码包含的字符数

不同长度和字符类型的组合空间示例

长度字符类型字符池大小可能的密码数量
8仅小写字母262.1 × 10^11
8全部 4 种类型883.6 × 10^15
12全部 4 种类型882.2 × 10^23
16全部 4 种类型881.3 × 10^31
20全部 4 种类型887.8 × 10^38

常见问题

密码强度更看重长度还是字符种类?

长度更重要。NIST SP 800-63B 明确建议优先增加长度,而不是强制要求复杂度规则,因为每多一个字符对组合空间的提升,通常比多加一种字符类型更大——由普通单词组成的长口令,可能比塞满符号的短密码更安全。

这个工具会把生成的密码发送到任何地方吗?

不会。密码完全在你的浏览器内用 JavaScript 的 crypto.getRandomValues() 生成和显示,不会传输到服务器,也不会被记录或保存,除非你自己复制粘贴到别处,否则密码不会离开你的设备。

为什么加入符号会让强度提升这么多?

强度是随字符池大小指数级增长的,而不是线性增长。在 62 个字符的字母数字池(26 大写 + 26 小写 + 10 数字)基础上加入本工具的 26 个符号,池扩大到 88 个字符,由于长度(指数)不变,这个更大的底数会让可能的密码总数成倍增加。

一个高强度密码可以在多个网站重复使用吗?

不建议。密码强度只能防御猜测攻击,如果某个网站的数据库被攻破,重复使用同一密码会让其他账号也一并暴露。请为每个网站使用不同的密码,最好用密码管理器统一管理。

本工具完全在客户端使用 Web Crypto API 生成密码,强度评估只基于长度和字符池大小,无法对照已知的数据泄露库检查密码,也无法识别键盘连续排列或字典词等可预测模式。

Sources: NIST SP 800-63B - Digital Identity Guidelines: Authentication and Lifecycle Management

隐私与安全

  • 在浏览器中计算 — 您输入的内容仅在本机设备上计算,不会发送到 utilduck 服务器。
  • 加密连接 — 所有页面均通过 HTTPS 提供,传输过程中无法被读取。
  • 不提供给第三方 — 您输入的内容不会传递给分析或广告服务。
  • 不保存 — 计算结果不会保存到任何服务器,也无需注册账号。

最后更新: 2026-08-24

生成之后更重要的是安全保存

强密码应足够长、彼此唯一,并包含服务允许的字符。不要为了便于记忆而在多个网站重复使用同一结果,也不要通过聊天或邮件明文发送。若网站限制字符类型,应调整选项后重新生成,而不是手工删改到形成可预测模式。

建议把结果直接保存到可信的密码管理器,并为重要账户启用多因素认证。网页生成器只负责创建候选字符串,不能检查设备是否感染恶意软件,也不能替代账户恢复码的安全备份。