密码生成器

从大写、小写字母、数字和自定义符号中生成 4–128 位随机密码,使用浏览器的安全随机数生成器。

输入内容和文件始终留在浏览器中

选项

16

生成的密码

历史记录(最近 10 个)

历史记录为空

本页内容

密码生成器根据你选择的字符集生成 4 到 128 位的随机密码。每个字符都由浏览器内的密码学安全随机源独立抽取,不会发送到任何地方。

详细功能

可任意组合大写 A–Z、小写 a–z、数字 0–9 和特殊字符。默认特殊字符集为 !@#$%^&*()_+-=[]{}|;:,.<>?(26 个);在 自定义符号 中输入自己的列表即可替换它——重复字符和空格会被去掉,保证每个符号出现概率相同,也支持非 ASCII 符号。每一位都由 Rust/WebAssembly 生成器从合并后的字母表中均匀抽取,随机源为 crypto.getRandomValues。

页面打开时会立即生成一个密码,生成密码 生成新的密码。最近 10 个密码列在 历史记录(最近 10 个) 中,各带复制按钮;历史只存在于当前页面,刷新或点击 清除历史记录 后消失。长度和字符集选择保存在 localStorage 中,密码本身不保存。

强度取决于长度和字母表大小:16 位、启用全部四个默认字符集(88 个字符)约有 103 位熵。生成器不强制每个字符集至少出现一次,因此较短的密码偶尔会缺少数字或符号。

实用示例

普通账户密码:长度 16 并启用全部四个字符集,从 88 个字符中抽取(约 103 位),得到类似 q7}Rv;2mX!e9Lw@c 的结果。

网站只允许少数符号:勾选 特殊字符,在 自定义符号 中填入 -_.;字母表变为 26 + 26 + 10 + 3 = 65 个字符,不会出现其他符号。

.env 文件中的密钥:只用字母和数字(62 个字符)、长度 64,约 381 位,且没有需要在 shell 或 YAML 中转义的引号或 $。

数字测试码:只勾选 数字 (0-9)、长度 6,得到 1 000 000 种之一,例如 804219——适合测试数据,用作账户密码太弱。

如何使用此工具

  1. 设置长度

    拖动 密码长度 滑块,范围 4 到 128 个字符。

  2. 选择字符集

    勾选 大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9) 和/或 特殊字符。可在 自定义符号 中列出允许的符号。

  3. 生成

    点击 生成密码。每个新密码都会加入 历史记录(最近 10 个)。

  4. 复制

    点击结果或任一历史记录旁的 复制。

提示和最佳实践

  • 长度比符号更重要:88 个字符的字母表中每多一位约增加 6.5 位熵,而开启符号每位只增加不到 0.6 位。
  • 如果网站拒绝某些字符,请在 自定义符号 中只列出允许的字符,而不是完全关闭特殊字符。
  • 较短的密码可能缺少要求的数字或符号,重新生成即可。
  • 历史记录只保存在当前标签页;离开共享屏幕前请点击 清除历史记录。
  • 请用密码管理器保存密码;同一密码在多个网站重复使用会让随机性失去意义。