EntropyBolt
生成一条密码或一句密码短语,看清你的设置究竟值多少比特,并把正在用的密码放到那些让它变得可猜的模式面前检验一遍。这一切都在本标签页内完成。
选项
高级
当前字符集:90 个字符
批量生成
密码强度
无如何使用
- 1
选字符,还是选单词
一串随机字符,或者用 2,307 个词的词表拼出的密码短语。
- 2
设定长度和字符集
每改一次,精确熵值就更新一次,在你决定之前就能看到。
- 3
读真正的数字
由你的设置算出的比特数,以及四种攻击场景下的破解时间。
- 4
复制进密码管理器
生成一条,或者一次生成最多 50 条并存成文本文件。
它究竟能做什么
密码学级别的随机
每个字符都取自 crypto.getRandomValues,并丢弃会造成偏斜的取值,所以没有哪个字符更容易出现。
真正精确的熵值
比特数由你的设置推导,而不是看着结果去猜,因此相同设置永远给出相同强度。
打得出来的密码短语
从 2,307 个词里取六个词就是 67 比特——够强,而且还记得住。
告诉你弱在哪里
检测一条密码,看清哪些模式在扣它的比特:连续、重复、结尾的年份、已泄露的词条。
一次最多 50 条
一次性生成整份列表,并下载为纯文本文件。
永不离开标签页
没有网络请求,没有存储,也不统计你输入了什么。断网照常工作。
常见问题
我生成或输入的内容会被发到服务器吗?
不会。这里没有任何网络请求,也不做任何存储——既不写 localStorage,也不写 Cookie,所以关掉标签页就不留痕迹。
熵值是怎么算的?
对生成的密码是精确的:长度 × log2(字符集大小),用的是你的设置真正产出的字符集,排除项也算在内。密码短语是 词数 × log2(词表大小)。而你自己输入的密码只能估算,因此连续序列、重复字符、结尾的年份、命中泄露词表等模式会被逐项扣除并列出。
生成的密码真的随机吗?
它们来自浏览器的密码学随机源 crypto.getRandomValues。凡是落不进字符集大小整数倍范围的取值都会被丢弃重取,这样每个字符出现的概率才相同——直接取余数会让字符集靠前的字符悄悄占优。
为什么要给出四个不同的破解时间?
因为只给一个数字会误导人。每秒一百亿次只在攻击者已经拿到数据库、而且哈希算得快的时候才成立。面对真实的登录表单大约是每秒一百次,面对配置得当的慢哈希也就每秒几千次。同一个密码可能在一列里牢不可破,在另一列里瞬间失守。
密码短语比随机密码弱吗?
按单个字符算,是的。但总量取决于词数:从 2,307 词的词表里取六个词是 67 比特,已经超过 10 位的随机密码。它的好处是你能在手机上凭记忆敲出来,而屏幕上的数字会准确告诉你拿到的是什么。