跳到主内容
UniKit

密码生成器

用浏览器加密随机数生成强密码:自定义长度与字符集、排除易混字符、批量生成,并给出熵、强度等级与破解时间估算;也可以生成 tavuko-rimeda 这样的可读密码。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

生成设置

所有密码都在本地生成,不联网、不上传。

模式
16
1

字符集: 62

破解时间按每秒 10¹⁰ 次尝试估算。

结果

这个工具能做什么

  • 给账号设密码时随手生成一个:用浏览器加密随机数,可选长度、大小写、数字、符号,还能批量生成几十条备用。
  • 要抄写或手输的场合:勾上「排除易混字符」去掉 0 O 1 l I | 和括号引号,或者切到「可读密码」生成 tavuko-rimeda 这种能念出来的形式。
  • 想知道密码到底有多强:每条结果都给出熵(bits)、强度档位和按每秒 10¹⁰ 次尝试估算的破解时间。
  • 要交付给别人或存进文件:可以复制全部,也可以导出成 txt,每行一条附带长度、字符集大小、熵和强度。

示例

输入

模式:随机密码
长度:16
字符集:A-Z、a-z、0-9
数量:1

输出

密码:3NRbfh5ZIK3JRxAJ
字符集大小:62
熵:95.3 bits
强度:很强
破解时间:数百年

密码由 crypto.getRandomValues 随机抽取,每次结果都不同;字符集大小 62 是「26 大写 + 26 小写 + 10 数字」算出来的,熵 = 16 × log2(62) ≈ 95.3。

常见问题

长度和数量能设成多少?

长度 4–128,数量 1–50,可读密码的音节数 2–8。超出范围会直接提示错误(例如「长度需要在 4–128 之间」),不会生成半成品结果。

「每类至少一个字符」和「排除易混字符」能一起用吗?

可以,但要注意组合顺序:先按勾选的字符集生成保证每类都出现,再做排除。如果勾了符号又排除掉大量符号后字符集变得很小,短密码里可能凑不齐类别,所以这两项同时开时建议长度在 8 以上。

熵和破解时间是怎么估的?

熵 = 长度 × log2(字符集大小),破解时间按「密钥空间的一半 ÷ 每秒 10¹⁰ 次尝试」换算成瞬间 / 秒 / 分钟……数百年等档位。这是理论上的暴力穷举估算,不覆盖针对弱密码本或键盘规律的定向攻击。

生成的密码真的随机吗?

随机数来自浏览器的 crypto.getRandomValues,属于密码学安全随机源;洗牌用的是 Fisher–Yates,不会因为「先放必填字符再打乱」而留下位置偏差。

密码会被保存或上传吗?

不会。生成、统计和导出都在本地完成,页面不发网络请求,刷新后结果就消失。另外别把密码留在浏览器剪贴板里太久,粘完记得清空。

关键词:password generatorrandom passwordstrong passwordpassphraseentropy密码生成随机密码强密码密码强度可读密码

同类工具