按 ⌘K 切换工具
GENERATE
密码生成器
自定义长度和字符选项,生成安全的随机密码。
❯ passwdCSPRNG · window.crypto
—
digits ■ · symbols ■
STRENGTHexcellent
LENGTH20
CHARACTER SETS
ENTROPY~129 bits
CHARSET87 chars
SOURCE crypto.getRandomValues()generated locally · never transmitted or stored
§01 关于此工具
概述
这个生成器从你启用的字符集(大写、小写、数字、符号)构成的字符池里逐个取字符,
用的是 crypto.getRandomValues(一个 CSPRNG,不是 Math.random)。它会实时显示
以位为单位的熵估算值和一个五段式强度条,并在你改动长度或字符集时自动重新生成。
熵是这里唯一值得看的指标:它只取决于长度和字符池大小, 而不取决于密码看起来有多「随机」——把几个字母换成形近的符号并不会增加熵。
使用方法
- 用滑块设置 LENGTH(8–64 个字符,默认 20)。
- 切换 CHARACTER SETS 按钮:
A–Z、a–z、0–9、!@#$%(符号)。每次改动之后立刻出现新密码。 - 点击 generate ↻ 换一个密码,再点 copy ⧉ 复制它。留意 STRENGTH 强度条和 ENTROPY 数值。
示例
- 20 个字符、四个字符集全开:字符池 87 个字符,熵约 129 位 →
excellent。 - 8 个字符、只开
a–z:熵约 38 位 →weak,应当加长或者增加字符集。
说明
显示时数字和符号带有颜色区分,方便你准确读出密码。重要账号请以 80 位以上的熵为目标,
每个站点用独立密码,并把它们存进密码管理器。符号集是
!@#$%^&*()-_=+[]{};:,.<>?——如果某个站点不接受其中一部分,可以关掉符号,
用更长的长度来补偿。
FAQ
密码会被发送到别处或被记录吗?
不会。密码使用 crypto.getRandomValues 在本地生成,也就是浏览器的密码学安全随机数生成器,并且只显示在你自己的屏幕上。不做传输也不做存储——关掉标签页它就消失了。
强度评级是怎么算出来的?
工具把熵估算为 长度 × log2(字符池大小),字符池是你启用的各个字符集的并集。约 40 位以下评为 weak,60 位为 fair,80 位为 good,112 位为 strong,超过 112 位为 excellent。
为什么不能把四个字符集全部关掉?
至少要保留一个字符集,否则字符池为空,无法生成密码。工具会阻止你关掉最后一个仍然启用的字符集。