# Security Random Generator V2.1|安全随机数据生成器 V2.1 正式版:https://betaer.github.io/password-generator/index.html V1.7.5 归档版:https://betaer.github.io/password-generator/index-v1.75.html V2.1 规范地址:https://betaer.github.io/password-generator/index.html 项目默认入口:https://betaer.github.io/password-generator/index.html 源代码:https://github.com/betaer/password-generator ## 核心契约 - 九类生成器共享 Unified Probability Contract,但使用各自专用概率模型和结果语义。 - 所有随机数据使用浏览器 Web Crypto API;整数拒绝采样、无偏 Fisher–Yates,不使用 Math.random()。 - 每批冻结 mode/config/quantity;generation epoch、Worker jobId 与主动取消防止模式切换竞态。 - Expected Guess Count 对均匀有限空间精确使用 (N + 1) / 2。 - 指标分为 Exact Generator Metrics、Observed Pattern Estimate、Attack Scenario Estimate。 - UUID、Random Bytes、Token、Hex 与 BIP39 不展示通用密码哈希破解时间。 - Random Bytes 使用 2^n 符号空间、延迟编码、SHA-256 和 8 MiB 总资源预算。 - PIN 使用 completion-count DP;批量默认精确无放回;常见 PIN 过滤明确标为启发式策略。 - Passphrase 与 BIP39 使用 V2.1 独立内容哈希词表,结果记录 SHA-256。 - zxcvbn 在独立 Worker 中只提供 Observed Pattern Estimate;固定 PIN 来源包含 68,202 个唯一六位数字候选。 - Password/Passphrase 的三种攻击模型分别是在线限速、慢速 KDF/密码哈希与快速离线估算,均不是安全保证。 ## 九类生成器 - Password Generator:约束感知的随机密码、L1~L8 复杂度方案、密码长度与批量数量快捷刻度。 - Passphrase Generator:独立内容哈希词包、大小写与随机分隔符模型。 - PIN Generator:completion-count DP、启发式常见 PIN 排除策略与批内唯一抽样。 - Token Generator:可选编码和固定前缀;固定前缀不增加随机位数。 - API Secret Generator:通用字段与合成演示模板,不模拟真实厂商签发。 - UUID Generator:RFC 9562 UUID v4/v7 标识符;不是密码或访问凭据。 - Hex Generator:随机十六进制材料与仅供测试的私钥外观选项。 - Random Bytes Generator:最多 1 MiB 原始字节、延迟编码、SHA-256 与资源预算。 - BIP39 Mnemonic Generator:128~256 位 ENT、12~24 个词、十种官方词表和校验和;高价值用途优先离线或硬件钱包。 ## 隐私边界 - 生成不会自动复制;只有显式点击才写入系统剪贴板。 - V2.1 结果默认显示明文;隐藏按钮只改变视觉呈现且不触发布局位移,超长结果只显示摘要。 - Model Details 脱敏 prefix、symbol pool、separator 候选与完整 words。 - History 每次会话默认关闭,仅内存、最多 100 条与 8 MiB,不使用 sessionStorage 或 IndexedDB。 - localStorage 只保存白名单结构化非秘密设置,不保存结果、History 或自由文本字段。 - JavaScript String 不可可靠清零;只主动覆写可控 Uint8Array。 ## GA - 保留隔离、无本站 Analytics Cookie 的固定 page-view。 - GA 只在 sandbox="allow-scripts" iframe 中执行,无 allow-same-origin、referrer 或消息桥。 - 父页面不加载 Google JS,也不向 iframe 发送生成器类型、配置、输入或结果。 - cookieless ping 仍可能包含标准浏览器/网络层元数据,因此不称为“完全匿名”。 - Playwright 拦截实际 g/collect,验证固定 dl/dp/dr、无 Cookie、无 sentinel secret。 ## 发布 - `index.html` 与 `assets/v2.1/` 使用内容哈希资源和 runtime/product 双版本握手;`index-2.1.html` 仅作为 noindex 兼容跳转,V1.7.5 保存在 `index-v1.75.html`。 - CI 强制执行 V1.7.5 归档、V2/V2.0.1 概率内核与 V2.1 单测、三套 80% 覆盖率、V2.1 浏览器 E2E、GA 网络验收、npm audit 与 git diff --exit-code。 - 通过后才上传 Pages 制品并创建 build provenance attestation。