密码与随机数生成器

使用浏览器的安全随机数生成密码和指定范围内的随机整数。

生成密码

要包含的字符类型

每种选中的字符类型至少出现一次。

生成的密码不会被保存或上传。重新加载页面后即会消失。

生成随机整数

最小值和最大值都可能出现在结果中。

生成的数字不会被保存或上传。重新加载页面后即会消失。

保存选项

只保存长度、字符类型和范围等选项,且仅保存在此浏览器中。生成的值不会被保存。

密码与随机数生成器使用方法

密码和数字由浏览器的 crypto.getRandomValues 生成的安全随机数创建。生成的值仅显示在此屏幕上,不会被保存或上传。

  1. 选择长度和字符类型,然后点击“生成密码”。
  2. 输入范围和数量,然后点击“生成数字”,即可在范围内抽取整数。
  3. 复制结果,粘贴到密码管理器或任何需要的地方。

熵是如何计算的?

我们统计包含所有选中字符类型的长度为 N 的字符串数量,并将该数量的以 2 为底的对数作为熵(单位为比特)显示。只有一种字符类型时,它等于 长度 × log2(字符数);保证包含每种选中的类型会略微减少字符串数量,因此该值会稍低一些。

这只是针对已知长度和字符类型、只能随机猜测的攻击者的理论估算,并不保证安全。此方法下并非每种组合的概率都完全相同,因此实际值可能比显示的略低。在其他地方重复使用的密码,或因泄露、网络钓鱼或恶意软件而暴露的密码,无论熵多高都得不到保护。

随机整数的熵是每次抽取可选项数量的 log2 之和,并且包含抽取的顺序。

数字是如何均匀抽取的?

将随机数对范围大小取模会使某些值出现得更频繁,这称为模偏差。本工具使用拒绝采样:丢弃超过范围大小最大整数倍的抽取结果并重新抽取,使每个值的概率相同。不重复抽取则使用 Fisher–Yates 方法,每次选取一个值。

限制

常见问题

生成的密码会被上传或保存吗?

不会。密码仅在此浏览器内创建,只显示在屏幕上。保存按钮只保存长度和字符类型等选项,绝不保存生成的值。重新加载页面后即会消失,因此如需使用,请立即粘贴到密码管理器中。

为什么要排除易混淆字符?

它会去掉 I、l、1、O 和 0 等在某些字体中难以区分的字符,从而减少手动抄写时的错误。字符减少后,熵会略微降低。

可以用于正式抽奖吗?

不建议。没有审计记录,也没有外部验证。