SoupCalc

随机密码生成器|浏览器本地 Web Crypto 生成

随机密码生成器

这个工具在当前浏览器中生成一个或多个随机字符串。你可以选择长度、数量、允许使用的字符组以及需要排除的字符。密码生成函数不会主动发送或保存生成结果。

建议使用可信的密码管理器,并为每个账户保存不同密码。随机密码只有在保持秘密且目标服务接受其长度和字符时才有用。

采用的生成方法

SoupCalc 把选中的小写字母、大写字母、数字和符号合并为一个字符池,再移除排除列表中的每个字符。工具通过浏览器的 Web Crypto API 获取无符号 32 位随机数。

当随机数范围不能被字符池大小整除时,直接取余会让部分字符出现的概率稍高。当前实现使用拒绝采样。位于顶部不完整区间的随机值会被丢弃,其余数值才映射到字符。在浏览器密码学随机源正常工作的条件下,这样可以保持均匀映射。

生成器从合并后的字符池逐次抽取。它不保证每个密码都至少包含所选各字符组中的一个字符。如果网站规定必须同时出现某几类字符,应检查输出或重新生成。

完整示例

假设选中小写字母、大写字母和数字,保留默认排除列表,并要求生成 16 个字符。排除后,字符池共有 51 个字符,其中包括 21 个小写字母、23 个大写字母和 7 个数字。

理论搜索空间为 51¹⁶。当每个位置均匀独立生成且结果没有泄露时,对应的信息量约为 16 × log₂(51) = 90.8 比特。每次点击生成都会产生新的不可预测结果,因此固定展示一个示例密码会造成误导,也不应把示例复制为多人共用的秘密。

生成的密码应只使用一次,直接存入密码管理器。在条件允许时,也应清理剪贴板历史,并避免让密码出现在共享屏幕上。

怎样理解安全性

长度和唯一性通常比可预测的人为字符组合模式更重要。现行 NIST 验证方指南要求,单一身份验证因素使用的密码至少为 15 个字符。密码只作为多因素身份验证的一部分时,最低可以为 8 个字符。指南还建议系统允许至少 64 个字符,实际接收密码的服务可能采用不同规则。

有条件时应启用多因素身份验证或通行密钥。密码不能抵抗钓鱼,长随机密码也无法保护遭到恶意软件、受损浏览器扩展、欺骗性账户恢复流程或错误网站泄露的会话。

不要只为遵守过时的固定周期要求而反复更换强且唯一的密码。出现泄露证据、密码曾被重复使用,或者服务通知凭据已经暴露时,应及时更换。

安全边界

  • 生成发生在当前浏览器环境中,设备、浏览器、扩展、依赖或页面被攻破时,本地生成也可能失去保护
  • 不要在公共或不可信电脑上生成敏感凭据
  • 工具不会把结果与已泄露密码库比较,随机生成可以减少常见人为选择,但不会检查生成后的泄露情况
  • 排除字符会缩小字符池,系统允许时可用足够长度进行补偿
  • 理论比特数假设样本独立、分布均匀且密码保持秘密,不能保证账户安全或破解耗时
  • SoupCalc 无法找回生成的密码,离开页面前应妥善保存

资料来源

编辑记录

本文由 SoupCalc 编辑团队撰写并人工复核。本地生成路径、拒绝采样行为和完整示例已经对照当前实现与自动化测试检查。最后复核日期为 2026 年 8 月 10 日。在所有获准语言版本完成审核前,本页不会开放索引或广告。