您生成的任何内容都不会被存储:密码在同一次请求中创建并返回,绝不会写入磁盘、数据库、缓存或日志。
您生成的任何内容都不会被存储:密码在同一次请求中创建并返回,绝不会写入磁盘、数据库、缓存或日志。
强密码是攻击者无法猜中也无法预测的密码,因此它必须来自同样无法预测的来源。本工具使用 Python 的密码学随机数生成器生成密码,而不是大多数编程语言内置的那种更快但可预测的生成器,并准确显示破解它需要多少猜测工作量。
Python 常用的 random 模块是梅森旋转算法(Mersenne Twister):速度快,非常适合模拟,但只要拿到它连续 624 个 32 位输出,就能还原其全部内部状态,此后它产生的每个数都可以预测。本工具改为通过 Python 的 secrets 模块使用操作系统自带的密码学随机源,Python 官方文档推荐用它生成密码和安全令牌。包括打乱字符顺序在内的每一个随机决定都使用它。
以比特计的熵等于密码长度乘以每个位置可能出现的不同字符数的以 2 为底的对数。例如,一个由全部四种类型(26 个大写字母、26 个小写字母、10 个数字和 26 个符号,共 88 个字符)组成的 16 位密码约有 103 比特熵。每多一比特,攻击者要尝试的密码数量就翻一倍;该字符集每多一个字符约增加 6.5 比特,所以多四个字符会让猜测工作量增加约 6000 万倍。显示的强度等级(弱、一般、强、非常强)来自固定的比特阈值,而不是主观判断。
NIST SP 800-63B-4(2025)第 3.1.1.2 节要求:单独用于登录的密码至少 15 个字符;仅作为多因素登录的一部分时至少 8 个字符。网站还必须接受至少 64 个字符的密码,且不得强制混用字符类型或定期更换密码。强度来自长度:20 个小写字母有 94 位熵,高于由四类字符组成的 12 个字符(77.5 位)。如果网站限制长度或不接受符号,请选择它允许的最大长度,并取消勾选"符号"。
"符号"选项从以下 26 个字符中选取:! @ # $ & * ( ) - _ = + [ ] { } ; : , . < > ? / ~ ^。不包含空格、反斜杠、引号、反引号、% 和 |,因为一些旧系统会拒绝或损坏这些字符。外形相似的字符(如 0 和 O,或 l、1 和 I)不会被剔除,因此请复制粘贴密码,不要手动重新输入。显示的位数假设密码保密且唯一:在多个网站重复使用或保存在共享文件中的密码,实际强度低于该数字。
不会。密码在同一次请求中生成并返回,从不写入磁盘、数据库、缓存或日志。
只要所选长度不少于所选类型的数量,就一定会包含:每种所选类型的一个字符是有保证的,不靠运气。
它反映以比特计的熵:低于 40 为弱,40 到 59 为一般,60 到 79 为强,80 及以上为非常强。这些阈值是固定的,不是模型的判断。
自己想的密码依赖你的记忆和习惯中的规律,而这正是它容易被猜中的原因。来自密码学随机源的密码没有任何可猜的规律。
这取决于你勾选了哪些字符类型,因为每增加一种类型,字符集就更大。勾选全部四种类型时(88 个字符,每个约 6.46 比特),10 个字符达到「强」,13 个字符达到「非常强」。只用字母和数字、不用符号时(62 个字符)需要 11 和 14 个;只用小写字母时(26 个)需要 13 和 18 个;只用数字时(10 个)需要 19 和 25 个。默认设置是四种类型共 16 个字符,约 103.4 比特。包含所有类型的 8 位密码只有约 51.7 比特,属于「一般」。
可以。除 数字 (0-9) 外取消勾选其他所有类型,并把长度设为 4 或以上。每个位置上每个数字出现的概率相同,包括开头的 0,所以可能出现 0472 甚至 1111;如果银行或门禁系统不接受重复或连续的数字,再点一次 生成 即可。强度会显示为 弱:4 位 PIN 约 13.3 比特(10,000 种可能),6 位约 19.9 比特(1,000,000 种)。这对 PIN 来说很正常,因为它只有在银行卡、手机或门锁输错几次就阻止继续尝试的场合才安全。凡是可能被离线猜测的场合,请改用完整的密码。
对常见的办公规则来说可以。像"至少 12 个字符,包含大写字母、小写字母、数字和符号"这样的策略,只要勾选全部四种类型并把长度设为 12 或以上,每次都能满足,因为每种勾选的类型都保证至少出现一个字符。本工具无法遵守允许符号清单、禁止重复或连续字符、或不得包含姓名之类的规则;如果系统拒绝结果,再点一次生成即可。如果系统不接受符号,取消勾选符号(例如 !@#&*)并多加 2 个字符:14 个字母和数字有 83.4 比特,高于四种类型的 12 个字符(77.5 比特)。WPA2-Personal 的 Wi-Fi 密码必须是 8 到 63 个可打印 ASCII 字符(IEEE 802.11i-2004,Annex H.4.1;Microsoft MS-TCC 第 2.2.2.9 节)。本工具生成的全部是可打印 ASCII,所以 8 到 63 之间的任何长度都可以;20 个字母和数字(约 119.1 比特)在电视或打印机上也容易输入。
不需要按固定周期更换。NIST SP 800-63B-4 (2025) 第 3.1.1.2 节规定,验证方不得要求用户定期更改密码,但在有证据表明密码已泄露时必须强制更改。强制更换往往导致容易猜到的改动,例如把 Winter2026! 改成 Spring2026!。在收到数据泄露通知、点击了钓鱼链接或把密码告诉过别人之后,请立即更改,然后在这里生成一个新密码并保存在密码管理器中,不要在其他网站重复使用。