▲ DevKit
隐私
🔐

随机密码生成器

crypto 安全随机 + 拒绝采样,无模偏差;支持口令短语与已有密码体检

字符类型
生成结果预估熵 102.8 bit
  • i55PdO2ow0IPvX#V103 bit
  • _+F-EX/^Trgzzqh6103 bit
  • :6:;C1rDQsMKn?rx103 bit
  • IUmwmz1R?0QC}[-!103 bit
  • #Y{!2}1rcn6@40b{103 bit
已有密码体检
  • 随机源是 crypto.getRandomValues(CSPRNG),不是 Math.random()。后者可被预测:拿到一段历史输出就能推出后续序列,用在密码上等于直接泄露。
  • 取模采用拒绝采样:只接受落在 2³² 内"恰好是字符集整数倍"区间的采样值,因此每个字符被选中的概率严格相等。直接 rand() % n 会产生模偏差,让靠前的字符略微更常出现,可被统计攻击利用。
  • 开启「每类至少一个」时,本工具用拒绝采样生成(在约束集上严格均匀),而不是"每类先取一个再补齐洗牌"——后者的分布并不均匀,会悄悄降低真实熵。
  • 熵值按 log2(可能组合数) 精确计算:随机模式为 L×log2(N),开启类别约束时用容斥原理扣除不满足约束的组合,因此你看到的熵是真实值而非乐观估计。
  • 爆破耗时按 10¹¹ 次/秒(高端 GPU 集群跑 MD5/SHA1 的量级)估算,且假设平均需要尝试 2^(熵-1) 次。使用 bcrypt/Argon2 等慢哈希时实际耗时会再高出几个数量级。
  • 口令短语模式每词约 7.65 bit 熵(词表 200 词)。4 词约 31 bit 偏弱,建议 6 词以上(约 46 bit)或配合网站自身的慢哈希与二次验证。
  • 所有生成均在本地浏览器完成,不上传、不记录、不联网;关闭页面后结果即消失,请及时保存。
使用说明 / 算法说明
  • 随机源是 crypto.getRandomValues(CSPRNG),不是 Math.random()。后者可被预测:拿到一段历史输出就能推出后续序列,用在密码上等于直接泄露。
  • 取模采用拒绝采样:只接受落在 2³² 内"恰好是字符集整数倍"区间的采样值,因此每个字符被选中的概率严格相等。直接 rand() % n 会产生模偏差,让靠前的字符略微更常出现,可被统计攻击利用。
  • 开启「每类至少一个」时,本工具用拒绝采样生成(在约束集上严格均匀),而不是"每类先取一个再补齐洗牌"——后者的分布并不均匀,会悄悄降低真实熵。
  • 熵值按 log2(可能组合数) 精确计算:随机模式为 L×log2(N),开启类别约束时用容斥原理扣除不满足约束的组合,因此你看到的熵是真实值而非乐观估计。
  • 爆破耗时按 10¹¹ 次/秒(高端 GPU 集群跑 MD5/SHA1 的量级)估算,且假设平均需要尝试 2^(熵-1) 次。使用 bcrypt/Argon2 等慢哈希时实际耗时会再高出几个数量级。
  • 口令短语模式每词约 7.65 bit 熵(词表 200 词)。4 词约 31 bit 偏弱,建议 6 词以上(约 46 bit)或配合网站自身的慢哈希与二次验证。
  • 所有生成均在本地浏览器完成,不上传、不记录、不联网;关闭页面后结果即消失,请及时保存。

同类工具 · 代码保护与凭证