随机密码生成器

用本工具全部 87 种字符生成 16 位密码,熵约为 103.1 位。

字符类型
问题解决了吗?

使用方法

  1. 用滑块或数字框设定长度(4 到 128)。越长越安全,建议 16 位以上。
  2. 勾选要用的字符类型。勾选的每一类至少会包含 1 个字符。
  3. 需要手抄或手动输入时,勾选“排除易混淆字符”。点“复制”可粘贴使用,点“换一个”重新生成。

计算方法

密码由浏览器的密码学随机数生成。先从每个勾选的类型里各选 1 个字符,满足多数网站的要求;剩下的长度从所有勾选的字符中补齐,再把整体打乱,让必含字符不总在同一位置。每一次选择都没有偏差。

显示的熵 = 长度 × 以 2 为底的“可用字符数”的对数。例如从 87 种字符中取 16 位,约 103 位。这是随机生成时的参考值,不适用于人自己想出来的单词或规律。

强度提示是基于这个参考值的简单指标:低于 40 位为弱,低于 60 位为一般,低于 80 位为良好,80 位及以上为强。

不同长度和字符类型的熵

长度字母数字(62 种)全部类型(87 种)
8 位约 48 位(一般)约 52 位(一般)
12 位约 71 位(良好)约 77 位(良好)
16 位约 95 位(强)约 103 位(强)
20 位约 119 位(强)约 129 位(强)

常见问题

密码会发送到服务器或被保存吗?

不会。密码在浏览器里生成,不会发送、保存或记录。关闭或刷新页面就会消失,分享链接里也不包含它。

密码设多少位合适?

账户密码用混合多种字符的 16 位就比较放心。长度比符号更管用,需要手动输入的密码,只用字母数字但设长一些也是好办法。

排除易混淆字符会去掉哪些?

去掉 0、O、o、1、l、I 和竖线(|),这些字符在很多字体里难以分辨。字符种类会少一点,想保持同样强度就多加一两位。

为什么每类字符都一定会出现?

很多网站要求小写、大写、数字、符号至少各有一个。保证包含勾选的类型,可以避免注册时被拒。对强度的影响微乎其微。

生成的密码能多处重复使用吗?

不能。每个账户用不同的密码,并存进密码管理器。重复使用会让所有账户的安全性降到最薄弱的那个网站的水平。