密码生成
好密码要够长、够随机、覆盖多类字符——难点是「够强」和「好记」几乎互斥。这页不帮你记,只帮你造:给定长度和字符集,用浏览器的密码学随机数批量生成密码,再按字符池大小和长度估出它的熵(bit),让你对「有多难猜」有个数。
适合给不同网站配各不相同的强口令(配合密码管理器保存)、给临时账号或访客 Wi-Fi 生成一次性密码、造测试用的随机串。默认一次给 5 条、每条 16 位,长度最多 128、数量最多 200。
熵大致等于「以 2 为底的字符池大小」乘长度。四个选项(小写、大写、数字、符号)勾得越多、长度越长,池越大、熵越高。旁边的进度条按熵分弱、中、强、极强四档给直观反馈。
怎么用
- 设长度拖动「长度」滑块(1~128),旁边的输入框会显示具体数字。
- 勾字符集在「字符集」一栏勾「小写 a-z」「大写 A-Z」「数字 0-9」「符号 !@#」;想避免 l、1、I、O、0 这类看错的字符,再勾「排除易混淆 (Il1O0)」。
- 看强度「数量」旁的进度条实时显示当前配置下密码的强度档(弱/中/强/极强)和近似熵「≈N bit」;一个字符集都没勾会提示「请至少选择一个字符集」。
- 生成点「重新生成」(带刷新图标)按当前设置出一批,「数量」设几条就生成几条;进页面时已默认生成 5 条。
- 复制顶部灰底那行是最新一条,点「复制首条」单独拷;下方只读框列出整批,末尾「复制全部(N)」一次全带走,旁注「字符池 N · 每条长度 N」。
深入一点
熵到底说明什么
熵是按当前字符池暴力枚举所需的以 2 为底的尝试次数。约 60 bit 已足够挡住在线慢速猜测,约 100 bit 以上连离线大规模碰撞也很难。它是「平均要试一半」的量级,不代表你这一条一定安全——池太小再长也白搭。
粗略对应一下:对方每秒能试上百亿次,六十来比特也要很多年,八十比特以上就远超实际可行的时间——这就是为什么建议重要口令别低于八十比特。
一定包含每类字符是怎么保证的
生成时先从每个勾选的字符集各取一个垫进结果,再拿整个池填满剩余长度,最后做洗牌打乱,所以「必有大小写数字符号」不会把强特征固定在前几位。
这样即便长度不算长,也不会退化成一个只含小写的脆弱口令——每类至少占一个位置是硬保证,不是碰运气。
排除易混淆的代价
勾掉 Il1O0 会让字符池变小、熵略降;好处是抄写、电话报读时不容易认错。牺牲一点熵换可读性,看你在不在人手转录的环节。
要图省事就优先加长长度,一条更长的比多塞几种符号更难被枚举,也比满屏易混字符更好抄。
注意事项
- 随机数用浏览器 Web Crypto(拒绝采样消除取模偏置),不请求服务器、不联网。
- 生成的密码不保存、不记录,刷新或离开即丢失,请当场复制进密码管理器。
- 别把同一条密码用在多个账号——这页帮你批量生成,就是为了一处一条。
- 密码学随机不等于能对抗钓鱼输入框:再强的密码,输进假页面照样被盗。
- 勾选的字符集越少、池越小,同样长度下熵越低;只勾一类还想够强就得把长度拉得更长。
- 每次都是整批重新生成、不累积上次的结果,所以「复制全部」拿到的永远是当前这一批。