跳转到正文

密码生成器

生成 8 到 64 个字符的强随机密码,可选择小写字母、大写字母、数字和符号,并以比特为单位查看熵值估算。密码由您浏览器的密码学随机数生成器生成,且永远不会离开您的设备。免费,无需注册。如需检测您正在使用的密码,请改用密码强度检查器。

请至少选择一种字符类型

强度:非常强(103 比特熵)

本地生成,从不发送

密码在您的设备上使用浏览器的密码学安全随机数生成器(crypto.getRandomValues)生成。不会通过网络传输任何内容,不会存储任何内容,我们也无法看到您创建的密码。

密码建议

为每个网站使用唯一的密码。当某个服务发生数据泄露时,攻击者会立即用泄露的密码去尝试登录电子邮箱、银行和社交网络——重复使用密码会让一次泄露变成多重泄露。

使用密码管理器。没有人能记住几十个又长又随机的密码,而把它们写下来或重复使用又违背了初衷。密码管理器会以加密方式存储它们,自动为您填写,只要求您记住一个强主密码。

优先追求长度而非花哨技巧。用符号替代字母(例如 p@ssw0rd)带来的安全性提升,远不如直接加长密码。如果网站支持,也请开启双重验证。

如何使用密码生成器

  1. 1. 设置长度。 滑块范围为 8 到 64 个字符,默认为 16。
  2. 2. 选择字符。 小写字母、大写字母、数字和符号默认全部开启;至少必须保留一种开启。勾选排除易混淆字符可去掉 0、O、1、l 和 I。
  3. 3. 查看强度行。 进度条会显示一个等级——弱、中等、强或非常强——并附上熵值(比特)。
  4. 4. 生成并复制。 页面加载时会出现一个密码;重新生成会生成另一个,复制会把它放入您的剪贴板。请立即将其保存到密码管理器中。

密码是如何生成的

  • 安全的随机性。 每个字符都使用 crypto.getRandomValues 选出,这是浏览器的密码学生成器,而不是 Math.random。数值通过拒绝采样获取,因此不会因舍入而使某个字符更容易出现。
  • 每类字符各取一个。 如果四类字符全部勾选,密码必定至少包含一个小写字母、一个大写字母、一个数字和一个符号——许多网站仍然强制执行这一规则。其余位置则从所有已选字符中填充,然后整个密码会被打乱,以免必选字符都集中在前面。
  • 符号集为 !@#$%^&*()-_=+[]{};:,.?,共 23 个字符。如果某些网站拒绝其中一部分,请取消勾选符号,并通过增加长度来提高强度。
  • 密码不会离开页面。 密码在您浏览器的内存中生成并保存,不会被发送到任何地方。如果您的操作系统保存了剪贴板历史,它可能会保留您复制的内容。

长度比复杂度更重要

强度估算是随机选取的密码的熵值:长度 × log₂(字符集大小)。使用全部四类字符(85 个字符)时,每个字符约贡献 6.4 比特;只使用小写字母时为 4.7 比特。本工具会对结果取整,并按以下标准标注等级:低于 40 比特为弱,40 起为中等,60 起为强,80 起为非常强——这些是本工具的经验法则,而非行业标准。

长度仅小写字母(26)字母与数字(62)四类字符全部(85)
838 比特,弱48 比特,中等51 比特,中等
1256 比特,中等71 比特,强77 比特,强
1675 比特,强95 比特,非常强103 比特,非常强
2094 比特,非常强119 比特,非常强128 比特,非常强

长度带来的好处超过字符种类。二十个小写字母(94 比特)比从四类字符中抽取的十二个字符(77 比特)更强,因为每多一个字符都会成倍地增加可能性,而字符集变大只会提高底数。该估算只适用于随机生成的密码。您自己编造的密码——或者像 p@ssw0rd 这样用符号替换字母的密码——其真实强度远低于它的长度所显示的。

当前的指导意见

美国数字身份标准 NIST SP 800-63B(第 4 版)规定,仅凭密码认证的服务应要求至少 15 个字符(若与第二因素一同使用则为 8 个),允许至少 64 个字符,并且不应强加混合字符类型之类的组成规则,也不应强制定期更改。它还期望服务接受密码管理器和粘贴操作,并把新密码与常见及已泄露的密码列表进行核对。实际做法是:选择网站允许的最长密码,为每个网站设置唯一的密码,将其保存在密码管理器中,并开启双重验证。

您需要哪个工具?

使用本页面生成新的随机密码。若要检测您已有的密码,请使用密码强度检查器,它会查找常见密码、单词和规律,同样不会发送任何内容。若需要一个唯一标识符而非秘密,请使用 UUID 生成器;UUID 是唯一的,但并不意味着保密。

常见问题

在网站上生成密码安全吗?
在这里是安全的:密码由您浏览器的密码学随机生成器创建,既不通过网络发送也不被存储,因此 CitationEasy 从未见过它。与任何工具一样,请使用您信任的浏览器,并将结果直接保存到密码管理器中。
我的密码应该多长?
仅凭密码保护的账户,根据 NIST SP 800-63B 至少为 15 个字符,网站允许时应更长。对于密码管理器的主密码,请使用较长的口令短语。这里的滑块最长可达 64 个字符。
强度估算是什么意思?
它是熵值的比特数:假设密码是从所选字符中随机选取的,需要多少次二进制猜测才能确定找到该密码。每增加一个比特,工作量就翻一倍。这些区间只是经验法则:40 以下为弱,40 至 59 为中等,60 至 79 为强,80 及以上为非常强。
“排除易混淆字符”有什么作用?
它会去掉 0、O、1、l 和 I,这些字符在许多字体中看起来很像。如果您必须大声读出密码或手动输入,这会很有帮助,而且几乎不损失强度:四类字符中的 16 个字符从 103 比特降到 101 比特。
为什么网站拒绝我生成的密码?
通常是因为它限制了长度或不接受某些符号。取消勾选符号,或加长密码,然后重新生成。若有选择,拒绝长密码或特殊字符的网站值得避免。
我可以在多个网站上使用同一个密码吗?
不可以。当某个服务泄露时,攻击者会把泄露的密码用到其他服务上。为每个网站设置唯一的密码,可以把损失限制在一个账户之内。
我可以改用口令短语吗?
几个随机单词既可以很强又容易记住,很适合作为主密码。本生成器生成的是字符密码;如需口令短语,请随机选取单词,而不是自己挑选。

相关工具

编码与密码中的更多工具