Password Generator

强密码生成器

在浏览器中生成加密级安全密码。可自定义长度、字符类型和易读性。不会向服务器发送任何内容。

是的。我们使用 crypto.getRandomValues — Web Crypto API 的加密级伪随机数生成器 (CSPRNG),适用于密码、token 和加密密钥。

不会。密码完全在你的浏览器中通过 JavaScript 生成。生成密码时不会发起任何网络请求。你可以打开浏览器的 Network tab 自行验证。

小提示:按 Space 或 R 可重新生成。

16
416324864
模式
字符类型

为什么选择 Password Generator?

加密级随机、高度可定制、完全在客户端运行。

加密级随机

使用浏览器的 crypto.getRandomValues,与银行和密码管理器使用同样的 API。不使用伪随机的 Math.random。

高度可定制

长度 4–64,四种字符类别(大写、小写、数字、符号),三种模式:全部字符、易读、可发音。

隐私优先设计

密码完全在你的浏览器中生成。绝不向任何服务器发送。没有日志,没有遥测。

25 种语言

支持 25 种语言并自动检测浏览器语言。为阿拉伯语、波斯语和乌尔都语提供 RTL 支持。

批量生成

需要为团队生成密码或全新的 API key?一次最多生成10组,全部复制或下载为.txt 文件。

强度指示器

基于熵的实时强度估算。复制前清楚了解你的密码有多强。

密码生成器如何工作

来自浏览器硬件 RNG 的密码学级别随机性。

  1. 1

    选择长度和字符类别

    选择密码长度(新账户建议 16+,高价值服务建议 24+)以及包含哪些字符类别:小写、大写、数字、符号。你也可以启用易读模式,排除 0/O1/l/I 等容易混淆的字符;或启用可发音模式,生成你能读出来的口令。

  2. 2

    浏览器 CSPRNG 生成字节

    我们调用 crypto.getRandomValues,这是浏览器内置的密码学安全随机数生成器。在现代硬件上,它从 CPU 的硬件熵源(x86 的 RDRAND、Apple Silicon 的 ARM TRNG)中采样。其输出质量与 Linux 上的 /dev/urandom 相同。

  3. 3

    字节映射到你的字母表

    随机字节通过拒绝采样映射到所选字符集 — 这避免了简单的 byte % alphabet.length 写法引入的取模偏差。每个字符、每个位置都得到均匀分布。

  4. 4

    强度计与复制

    我们计算结果的熵(以 bit 为单位)并显示在密码旁边。点击复制;密码通过 navigator.clipboard.writeText 进入剪贴板,绝不会通过网络发送到任何地方。

什么时候用哪种模式

不同的安全场景需要不同的密码策略。

消费级服务的新账户

16 个字符,大小写混合 + 数字 + 符号,存入密码管理器。这相当于约 95 bit 的熵 — 面对当前任何破解攻击都有足够的余量。

API key 与服务 token

32 个字符的字母数字组合,直接复制到你的 .env 文件中。这是大多数 API 接受的格式;长到让暴力破解毫无意义。

Wi-Fi 密码(便于记忆)

可发音模式会生成像 karto-zelin-bauma 这样的字符串 — 访客对照打印的卡片很容易输入,熵仍超过 70 bit。

主密码

对于必须不靠管理器手动输入的密码(4-6 个随机词),使用口令模式 — 比 12 个字符的混合大小写密码更强,也更容易记住。

为什么生成器的隐私很重要

如果密码生成器的随机性来自服务器(或者更糟,在返回路径上被记录),你生成的每一条凭证从产生那一刻起就可能已经泄露。iKit 仅使用你浏览器的硬件 RNG 生成密码 — 字节不会被传输、不会被记录、不会被缓存。

  • crypto.getRandomValues 由硬件支持,且不可预测。
  • 生成的密码绝不离开你的浏览器;复制走的是本地剪贴板。
  • 没有 “已保存密码” 历史,不分析你生成了什么。

相关教程

来自 iKit 博客的深度教程与工具对比。

常见问题

这些密码真的是随机的吗?

是的。我们使用 crypto.getRandomValues — Web Crypto API 的加密级伪随机数生成器 (CSPRNG),适用于密码、token 和加密密钥。

我的密码会被发送到任何地方吗?

不会。密码完全在你的浏览器中通过 JavaScript 生成。生成密码时不会发起任何网络请求。你可以打开浏览器的 Network tab 自行验证。

每个强度等级是什么含义?

指示器估算熵值(随机位数):弱 <28,一般 28–40,良好 40–60,强 60–80,极强 80+。一个 16 字符且包含全部类型的密码约为 104 位 — 属于极强。

我应该使用可发音密码吗?

只有在你需要口述或记住密码时才使用。可发音密码以熵换取可记性 — 建议使用更长的长度(20+)以保持安全。大多数情况下,既然你会存入密码管理器,直接使用随机密码更好。

推荐的长度是多少?

包含全部四种类型的 16 字符是强壮的默认值。对于高价值账户(邮箱、银行、加密货币)建议 20+。有些系统上限为 16 或 20 — 请先查看对方网站的要求。