密码生成
在线密码生成工具,用浏览器密码学安全随机源生成随机字符串与密码,支持长度与字符集自定义、批量生成与易混字符排除,并按熵值与弱口令模式给出强度评估。全部在本机浏览器完成。
强度条上的数字是怎么算的
强度不是拍脑袋给的四颗星,而是按信息熵估算:熵 ≈ 密码长度 × log₂(字符集大小)。例如勾选小写 + 大写 + 数字 + 符号,字符集约 90 个,16 位长的熵约为 16 × 6.49 ≈ 104 bit。
分档阈值是 100 / 70 / 45 / 28 bit,对应很强、强、中等、弱。命中常见弱模式(如连续字符、常见单词、键盘序列)每一项扣 8 bit,页面会把扣分项逐条列出来 —— 你能看到分是怎么丢的。
随机字符为什么不用取模
很多人写随机数喜欢「取随机值再对字符集长度取模」。当随机源的取值空间不是字符集长度的整数倍时,排在前面的字符会被选中得更多 —— 这就是取模偏差,密码的熵会被悄悄削弱。
这里用的是拒绝采样:从加密级随机源取 32 位无符号整数,若它落在会破坏均匀性的尾部区间就直接丢弃重取,直到拿到无偏的值。洗牌只用普通随机数打乱位置,不影响字符本身的熵。
长度和字符种类怎么取舍
长度比花样更管用。16 位四类字符(约 104 bit)已经是「很强」;把长度加到 20 位,比在 12 位上再加一种符号收益大得多。
遇到网站限制 8–20 位时,优先把长度拉到上限,同时保留四类字符;遇到「不允许特殊符号」的奇葩限制,就把长度补到 20 位来换回熵。默认的 16 位是当下多数服务都能接受的甜点位。
排除易混字符什么时候勾
勾上后会把 l、I、O、0、1 这些容易看错的字符从字符集里剔除。代价是字符集变小,同等长度下熵略降。
适合需要手抄、口述或贴进工单的场景(比如给同事临时开账号);如果是存进密码管理器自动填充,就不要勾,保留完整字符集更安全。
生成过程不联网,也不查泄露库
口令在浏览器里用加密级随机源生成,没有网络请求,不会上传,也不会拿去比对任何泄露库 —— 反过来说,本页也无法告诉你这个口令是否已经在别处泄露过。
生成的口令请直接存进密码管理器。页面提供重新生成、复制单条、复制全部和下载文本文件(passwords.txt);批量模式一次最多 50 条,密码模式会保证每种字符至少出现一个。
不该指望它做什么
它不做弱口令黑名单之外的判断 —— 比如不会评估这个口令是否已被撞库、是否符合某个网站的具体策略(多数网站的限制各不相同,以对方提示为准)。
也不生成 passphrase(用几个随机单词组成的口令)。那种口令更方便记忆,但需要专门的词表,本页只做字符级随机。
常见问题
16 位到底够不够?
勾选四类字符时约 104 bit,属于最高档。多数场景下够用;更重要的是每个网站用不同口令,并交给密码管理器保存。
为什么有的口令被扣了分?
命中了连续字符、常见单词、键盘序列这类弱模式,每项扣 8 bit。页面会列出扣分项,重新生成即可避开。
生成的口令会被上传或记录吗?
不会。全程浏览器本地生成,无网络请求、不写存储。也正因如此,它无法判断口令是否已在别处泄露。
网站限制不能有特殊符号怎么办?
少一类字符会降熵,把长度补到上限(如 20 位)换回来。长度的增加对强度的改善通常大于多加一种字符。