强密码生成器
在浏览器中生成高强度的随机密码或密码短语,每个旁边都显示强度评分和熵值。
如何生成强密码
- 1
设置长度和字符集
长度可选4到128个字符,也可以改成4到10个词的密码短语。按需开关各个字符集,或排除容易看混、不好输入的字符。
- 2
生成并查看强度
每个密码都由crypto.getRandomValues配合拒绝采样生成,任何字符出现的概率都不会比别的字符略高。把任意内容粘贴到强度检测里,就能看到它的评分。
- 3
直接复制到密码管理器
点击一次就能复制单个密码,也可以把整批密码下载为文本文件。剪贴板会在60秒后自动清空。
随机性从哪里来
每个字符和每个词都用crypto.getRandomValues选出,浏览器生成密钥和令牌用的也是这个密码学安全的随机源。这个工具里完全不用Math.random:它快,但可以预测,而这恰恰是秘密最不该有的特性。为了避免取模偏差,超出字母表大小整数倍的值会被丢弃并重新抽取,而不是用取余缩小范围,所以你所选字符集里的每个字符出现的机会完全相同。
密码和密码短语
从完整的85个字符的字母表(小写字母、大写字母、数字和23个符号)中取20个字符组成的密码,熵约为128比特,远超任何离线攻击能搜索的范围。用EFF的7,776词词表组成的5个词的密码短语,熵约为65比特,仍然很强,而且输入或念出来都容易得多。密码短语加长后差距缩小得很快:每多一个词约增加12.9比特,7个词的短语就已超过90比特。
生成的内容不会离开这个标签页
生成、检测和复制密码都不涉及任何网络请求,全部在本地用JavaScript完成。密码不会写入localStorage、sessionStorage或处理链,统计只收到一个通用的“按钮已点击”事件,里面有长度和字符集,从不包含密码本身。
常见问题
生成的密码会被保存吗?
不会。没有任何内容发送到服务器,也没有任何内容写入浏览器存储。密码只存在于这个页面的内存里,关闭或刷新标签页后就没有了。
随机性从哪里来?
来自Web Crypto API的crypto.getRandomValues,也就是浏览器自带的密码学安全随机数生成器。所有现代浏览器都支持,不需要额外加载任何东西。
2026年密码多长才够?
对大多数账号来说,16个混合字符是比较稳妥的下限;保护资金或邮箱的账号最好用20个以上。每个生成的密码旁边都有强度评分和熵值,给你的是具体数字,而不是经验法则。
密码和密码短语哪个更好?
只要够长,两者都很强。密码短语更容易输入和念出来,需要手动输入时这一点很重要;字符密码每个字符包含的熵更多。选你不会因为嫌麻烦而缩短的那一种。
0到4的评分是什么意思?
评分来自一个强度估算器,它会查找字典词、日期、键盘规律和常见替换,而不只是数字符个数。0到2表示花不多的力气就能猜出;4表示已知的基于规律的攻击都无法接近。
为什么复制的密码会从剪贴板清除?
复制60秒后,这个工具会用空字符串覆盖剪贴板,按钮旁的倒计时显示还剩多久。这样密码不会一直留在剪贴板里,被别的应用或网站之后读出来。
没有网络能用吗?
能,只要页面已经加载完。字符密码不需要再加载任何东西;密码短语和强度检测第一次使用时会加载一个小词表或评分库,之后在本次会话里都能离线使用。