安全与账号

随机密码生成器

使用浏览器的密码学安全随机数生成器创建强密码,并给出基于信息熵的强度评估。

非常强 · 127 bit

字符集

本工具完全在浏览器中运行——数据不会离开您的设备。

什么是随机密码生成器?

密码很少是被人在登录框前一个个猜出来的,而是在离线状态下被攻破的:攻击者拿到哈希数据库,每秒尝试数十亿种组合。在这种情况下,起决定作用的不是您有没有在末尾加个感叹号,而是密码究竟有多少比特的信息熵。

本工具使用 crypto.getRandomValues 生成密码,这是浏览器提供的密码学安全随机源。这一点与许多使用 Math.random 的同类页面有本质区别——后者可被预测,绝不应用于生成密码。

密码下方显示的信息熵以比特为单位,表示密码的强度。每增加一个比特,需要尝试的次数就翻一倍。80 比特左右对个人账号已经足够安全;超过 120 比特后,以现有技术进行暴力破解在实际上不可行。

使用方法

  • 拖动滑块设置长度。长度对强度的影响远大于增加字符种类。
  • 勾选需要的字符集。四类全开时每个字符的信息熵最高。
  • 如果您可能需要口头念出或手动输入密码,请开启排除易混淆字符。
  • 点击复制后立即存入密码管理器——不要存进便签或文本文件。
  • 点击重新生成可换一个密码。

常见问题

生成的密码会被保存吗?

不会。密码在您的浏览器中生成,从不上传。本页面没有数据库,也不记录任何内容。关闭标签页后,密码就从内存中消失了。

密码应该设多长?

普通账号使用完整字符集的 16 位已经绰绰有余。主邮箱、网银、加密货币钱包这类重要账号建议 24 位以上。既然您是存在密码管理器里而不是靠记忆,增加长度几乎不增加任何负担。

信息熵是什么意思?

信息熵衡量攻击者平均需要尝试多少次才能猜中,以 2 为底取对数表示。60 比特的密码大约需要 2^60 次尝试。每多一个比特,攻击者的工作量就翻倍,所以相差 20 比特就是相差一百万倍。

为什么要排除易混淆字符?

数字 0 和大写字母 O、数字 1 和小写 l 及大写 I,在很多字体里几乎一模一样。如果密码只存在密码管理器里且您总是粘贴,保留它们可获得更高的熵。但只要有可能需要人工读写,排除掉会省很多麻烦。