无需登录 数据私有 本地保存

强密码生成器增强版 - 短语/易记/无歧义模式

72
0
0
0
熵(Entropy)

熵是衡量密码随机性和不可预测性的量化指标,单位为比特(bits)。熵值越高,密码越难被暴力破解。计算公式为 H = log2(N^L),其中 N 为可用字符集大小,L 为密码长度。例如,使用 62 个字符(大小写字母+数字)的 12 位密码,熵值约为 71.4 bits。在线账户建议熵值不低于 40 bits,涉及资金或敏感数据的重要账户建议达到 60-80 bits 以上。

无歧义字符

无歧义字符是指在视觉和书写上不易与其他字符混淆的字符集合。常见的易混淆字符对包括:数字 0 与大写字母 O、小写字母 o;数字 1 与大写字母 I、小写字母 l;大写字母 Z 与数字 2;大写字母 S 与数字 5;大写字母 B 与数字 8 等。在需要手动输入密码的场景(如电话告知、纸质记录、服务器控制台)中,使用无歧义字符集可以显著降低输入错误的概率。

Web Crypto API

Web Crypto API 是浏览器提供的密码学安全接口标准,定义在 W3C 规范中。其核心方法 crypto.getRandomValues() 调用操作系统底层的密码学安全随机数生成器(CSPRNG),产生的随机数具有不可预测性,质量等同于专业加密软件使用的随机源。与 JavaScript 原生的 Math.random() 不同,Web Crypto API 的随机数适用于密钥生成、密码生成等安全敏感场景。现代主流浏览器(Chrome、Firefox、Safari、Edge)均已完整支持该 API。

密码短语(Passphrase)

密码短语是由多个随机单词组合而成的密码形式,例如 correct-horse-battery-staple。相比随机字符密码,密码短语更易于人类记忆,同时在长度足够时也能提供足够的安全性。其安全性取决于单词词库大小和单词数量:使用 2048 个常用单词的词库,4 个随机单词约产生 44 bits 熵值(log2(2048^4)),5 个随机单词约产生 55 bits。添加数字和特殊字符后缀可进一步提升熵值。密码短语是密码管理器主密码的推荐格式。

暴力破解(Brute Force)

暴力破解是一种通过穷举所有可能的密码组合来尝试破解密码的攻击方式。破解时间取决于密码的熵值和攻击者的计算能力。以当前顶级计算能力(约每秒 10^12 次哈希运算)估算:40 bits 熵值的密码约需 18 分钟,60 bits 约需 38 年,80 bits 约需 40 万年,100 bits 约需 4000 亿年。因此,使用足够长且随机的密码是抵御暴力破解的最有效手段。

字符集(Character Set)

字符集是指密码生成时可供选择的字符范围。常见的字符集类别包括:大写字母 A-Z(26 个字符)、小写字母 a-z(26 个字符)、数字 0-9(10 个字符)以及特殊字符(数量因工具而异)。字符集越大,相同长度密码的熵值越高。启用全部四类字符时,字符集大小为 62 个(不含特殊字符中的更多符号),若包含常用特殊字符则可达 90 个以上。在使用无歧义模式时,排除易混淆字符会缩小字符集,需通过增加密码长度来补偿熵值损失。

密码管理器

密码管理器是用于安全存储和管理所有账户密码的加密软件。用户只需记住一个高强度主密码,其余所有复杂密码由管理器自动填充。推荐的开源密码管理器包括:Bitwarden(跨平台云同步,免费版功能完善)、KeePassXC(本地存储,完全离线控制)。商业选项包括 1Password(用户体验优秀,支持家庭共享)。密码管理器是解决「每个账户使用不同复杂密码」这一难题的最佳方案,可同时满足安全性和便利性需求。