20
生成的密码 crypto.getRandomValues
…
强度 ~0 比特
本地处理
关于此工具
密码生成器会根据你启用的字符集——小写字母、大写字母、数字和符号——构建一个随机字符串。本工具从 Web Crypto API 的 crypto.getRandomValues 中抽取每一个字符,并使用拒绝采样来选取索引,因此结果是均匀分布的,没有取模偏差。强度读数以位(bit)为单位显示香农熵,计算方式为 长度 × log2(字符池大小):一个从 88 字符池中生成的 20 字符密码大约为 129 位,远超暴力破解所能穷举的范围。
用它为每个账户铸造唯一的凭据、轮换数据库或服务密码,或为密码管理器条目生成种子。当密码可能被手工誊抄时,关闭易混淆字符(I、l、1、O、0);保持“要求包含每个所选字符集”开启,使输出始终满足复杂度规则;或点击 Generate 10 来批量生成一组可直接粘贴进密码库的密码。
让密码难以破解的是熵,而不是长度——一个仅由单一字符集构成的长密码,远比一个取自所有字符集的短密码更弱。
常见问题
这些密码是如何生成的——它们是真正随机的吗?
每个字符都从 crypto.getRandomValues(浏览器的密码学安全随机源)中抽取,并使用拒绝采样以确保没有任何字符比其他字符更可能出现。不存在攻击者可以预测的种子或规律。
以位为单位的熵是什么意思?
熵衡量攻击者平均需要进行多少次猜测。它的计算方式为 长度 × log2(字符池大小),因此每多一位就使工作量翻倍:一个 128 位的密码平均需要约 2^127 次猜测,这在计算上是无法破解的。
在网站上生成密码安全吗?
安全,因为一切都在你的浏览器中通过 JavaScript 本地运行——任何密码都不会通过网络发送、记录或存储。你可以断开互联网连接并观察工具仍能正常工作来验证这一点。