密码生成

按长度和字符集批量生成强随机密码,并估算它的熵有多高。

长度
字符集
数量
极强 · ≈103 bit
{1h//q=oGd@R&FM@
字符池 88 · 每条长度 16

密码生成

好密码要够长、够随机、覆盖多类字符——难点是「够强」和「好记」几乎互斥。这页不帮你记,只帮你造:给定长度和字符集,用浏览器的密码学随机数批量生成密码,再按字符池大小和长度估出它的熵(bit),让你对「有多难猜」有个数。

适合给不同网站配各不相同的强口令(配合密码管理器保存)、给临时账号或访客 Wi-Fi 生成一次性密码、造测试用的随机串。默认一次给 5 条、每条 16 位,长度最多 128、数量最多 200。

熵大致等于「以 2 为底的字符池大小」乘长度。四个选项(小写、大写、数字、符号)勾得越多、长度越长,池越大、熵越高。旁边的进度条按熵分弱、中、强、极强四档给直观反馈。

怎么用

  1. 设长度拖动「长度」滑块(1~128),旁边的输入框会显示具体数字。
  2. 勾字符集在「字符集」一栏勾「小写 a-z」「大写 A-Z」「数字 0-9」「符号 !@#」;想避免 l、1、I、O、0 这类看错的字符,再勾「排除易混淆 (Il1O0)」。
  3. 看强度「数量」旁的进度条实时显示当前配置下密码的强度档(弱/中/强/极强)和近似熵「≈N bit」;一个字符集都没勾会提示「请至少选择一个字符集」。
  4. 生成点「重新生成」(带刷新图标)按当前设置出一批,「数量」设几条就生成几条;进页面时已默认生成 5 条。
  5. 复制顶部灰底那行是最新一条,点「复制首条」单独拷;下方只读框列出整批,末尾「复制全部(N)」一次全带走,旁注「字符池 N · 每条长度 N」。

深入一点

熵到底说明什么

熵是按当前字符池暴力枚举所需的以 2 为底的尝试次数。约 60 bit 已足够挡住在线慢速猜测,约 100 bit 以上连离线大规模碰撞也很难。它是「平均要试一半」的量级,不代表你这一条一定安全——池太小再长也白搭。

粗略对应一下:对方每秒能试上百亿次,六十来比特也要很多年,八十比特以上就远超实际可行的时间——这就是为什么建议重要口令别低于八十比特。

一定包含每类字符是怎么保证的

生成时先从每个勾选的字符集各取一个垫进结果,再拿整个池填满剩余长度,最后做洗牌打乱,所以「必有大小写数字符号」不会把强特征固定在前几位。

这样即便长度不算长,也不会退化成一个只含小写的脆弱口令——每类至少占一个位置是硬保证,不是碰运气。

排除易混淆的代价

勾掉 Il1O0 会让字符池变小、熵略降;好处是抄写、电话报读时不容易认错。牺牲一点熵换可读性,看你在不在人手转录的环节。

要图省事就优先加长长度,一条更长的比多塞几种符号更难被枚举,也比满屏易混字符更好抄。

注意事项

  • 随机数用浏览器 Web Crypto(拒绝采样消除取模偏置),不请求服务器、不联网。
  • 生成的密码不保存、不记录,刷新或离开即丢失,请当场复制进密码管理器。
  • 别把同一条密码用在多个账号——这页帮你批量生成,就是为了一处一条。
  • 密码学随机不等于能对抗钓鱼输入框:再强的密码,输进假页面照样被盗。
  • 勾选的字符集越少、池越小,同样长度下熵越低;只勾一类还想够强就得把长度拉得更长。
  • 每次都是整批重新生成、不累积上次的结果,所以「复制全部」拿到的永远是当前这一批。

常见问题

这样生成的密码安全吗

随机性来自系统密码学接口,强度取决于长度和字符集;配合每个网站唯一并使用密码管理器就安全。

熵多少算够用

日常在线场景 60 bit 起,重要账号或担心离线破解建议 80~100 bit 以上。

为什么不给好记的密码

这页只做随机强口令;要好记又强更适合用几个随机词拼的口令方案,不在本页功能里。

排除易混淆会影响强度吗

会略微降低(字符池变小),但对绝大多数场景那点差异可忽略,换来的是不易抄错。

一次最多生成多少

数量上限 200 条、单条长度上限 128 位,超出会被夹回上限。

生成的密码会存起来吗

不会,纯本地即时生成,没有任何历史记录或云端保存。

长度拉满 128 会不会太长

有些老网站限制 16~20 位,过长可能被截断;按目标网站规则选,一般 16~24 位已经很强。

每条都会含所选的每类字符吗

会。只要勾了某类,生成时先各塞一个再随机填满,所以一定包含每类;只勾一类就只会是那一种字符。

生成的长度和滑块数字一定一致吗

一致,每条都是你设的长度(会被夹在一到一百二十八之间)。底部「每条长度」会回显实际用的数值。

为什么熵只是个近似值

它按字符池大小乘长度估算,假设每个位置等概率取。实际分布可能略有出入,当强度参考够用,别当成精确的安全证明。

注册后可收藏工具、跨设备同步最近使用。