强密码生成器
密码生成器 的预设方案
预设为使用全部字符集的 24 位密码——大约 150 比特的熵,任何暴力破解都无法触及。用它生成存进密码管理器的任何密码,反正长度对你来说不花任何代价。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何密码生成器
- 1
选择一种风格
选择随机字符密码,或者便于记忆的多单词密码短语。
- 2
设置长度和字符集
强度指示器会随你调整实时显示真实的熵(单位为比特)。
- 3
复制它
把密码直接复制进你的密码管理器。
一旦用上密码管理器,最大长度就不再有任何代价
一个永远不需要手动输入或记住的密码,完全没有理由在长度上做出任何妥协——一个更长、更复杂的密码,唯一真实的代价是人在输入或回忆它时的不便,而密码管理器通过存储和自动填充这个值,把这两项代价都彻底消除了。24 个字符、取自全部字符集——大写、小写、数字和符号——能产出大约 150 比特的熵,这个数量远远超出了任何暴力破解的能力范围,几乎逼近了"更安全"对单个账户凭据来说所能意味着的实际上限。
这个预设正是那些存进密码管理器、永远不手动输入的密码的正确默认选择——实践中,对任何已经采用密码管理器的人来说,大多数在线账户都是如此——在这种场合,没有任何理由为了可记忆性去牺牲任何强度,因为可记忆性从一开始就用不上。
为什么这里不排除容易混淆的字符
排除像 `0`/`O` 和 `1`/`l`/`I` 这样视觉上容易混淆的字符,是专门为了那些可能需要从打印件上读出来、或者手动输入的密码而存在的一个选项——对一个只会从管理器里直接复制粘贴的密码来说,那种视觉歧义根本不会被人眼遇到,所以排除这些字符没有任何好处,反而会损失少量熵。这个预设正是出于这个原因,保留了完整的字符集:在假设这个值是被程序化复制、而不是被人手动抄写的前提下,追求最大强度。
常见问题
在一个网站上生成密码安全吗?
对这个工具来说是安全的——密码由 `crypto.getRandomValues` 生成,这是你操作系统的密码学随机源,永远不会离开这个页面。没有网络请求可供截获,也没有任何存储的内容。你可以断开网络连接,它依然能正常工作,你可以自己验证这一点。
密码应该多长?
至少 16 个字符,来自一个混合字符集,这能提供大约 100 比特的熵——远远超出任何可行的暴力破解范围。长度远比特殊字符重要得多:一个 20 位纯小写字母的密码,比一个带符号的 8 位密码更强。
熵这个数值代表什么?
熵的比特数衡量的是攻击者需要尝试多少次猜测。每多一比特,这个数字就翻一倍。低于 50 比特是弱密码,70–80 比特算合理,超过 100 比特就超出了当前任何攻击手段的能力范围。
密码短语和随机密码一样安全吗?
是的,前提是这些单词是随机选取的。从一个很大的词表里随机选四个词,大约能提供 52 比特的熵;六个词大约是 78 比特。它的优势在于你真的能记住并输入它们——这对那些没法存进密码管理器的少数密码来说很重要。
为什么要避免使用容易混淆的字符?
因为 0/O 和 1/l/I 在很多字体里根本无法区分。排除它们只会损失几比特的熵,却能在密码需要被朗读出来或者从打印件上抄录时,省去实实在在的麻烦。