安全与账号
随机密码生成器
使用浏览器的密码学安全随机数生成器创建强密码,并给出基于信息熵的强度评估。
非常强 · 127 bit
什么是随机密码生成器?
密码很少是被人在登录框前一个个猜出来的,而是在离线状态下被攻破的:攻击者拿到哈希数据库,每秒尝试数十亿种组合。在这种情况下,起决定作用的不是您有没有在末尾加个感叹号,而是密码究竟有多少比特的信息熵。
本工具使用 crypto.getRandomValues 生成密码,这是浏览器提供的密码学安全随机源。这一点与许多使用 Math.random 的同类页面有本质区别——后者可被预测,绝不应用于生成密码。
密码下方显示的信息熵以比特为单位,表示密码的强度。每增加一个比特,需要尝试的次数就翻一倍。80 比特左右对个人账号已经足够安全;超过 120 比特后,以现有技术进行暴力破解在实际上不可行。
使用方法
- 拖动滑块设置长度。长度对强度的影响远大于增加字符种类。
- 勾选需要的字符集。四类全开时每个字符的信息熵最高。
- 如果您可能需要口头念出或手动输入密码,请开启排除易混淆字符。
- 点击复制后立即存入密码管理器——不要存进便签或文本文件。
- 点击重新生成可换一个密码。
常见问题
生成的密码会被保存吗?
不会。密码在您的浏览器中生成,从不上传。本页面没有数据库,也不记录任何内容。关闭标签页后,密码就从内存中消失了。
密码应该设多长?
普通账号使用完整字符集的 16 位已经绰绰有余。主邮箱、网银、加密货币钱包这类重要账号建议 24 位以上。既然您是存在密码管理器里而不是靠记忆,增加长度几乎不增加任何负担。
信息熵是什么意思?
信息熵衡量攻击者平均需要尝试多少次才能猜中,以 2 为底取对数表示。60 比特的密码大约需要 2^60 次尝试。每多一个比特,攻击者的工作量就翻倍,所以相差 20 比特就是相差一百万倍。
为什么要排除易混淆字符?
数字 0 和大写字母 O、数字 1 和小写 l 及大写 I,在很多字体里几乎一模一样。如果密码只存在密码管理器里且您总是粘贴,保留它们可获得更高的熵。但只要有可能需要人工读写,排除掉会省很多麻烦。