密码与随机数生成器
使用浏览器的安全随机数生成密码和指定范围内的随机整数。
生成密码
生成的密码不会被保存或上传。重新加载页面后即会消失。
生成随机整数
生成的数字不会被保存或上传。重新加载页面后即会消失。
保存选项
只保存长度、字符类型和范围等选项,且仅保存在此浏览器中。生成的值不会被保存。
密码与随机数生成器使用方法
密码和数字由浏览器的 crypto.getRandomValues 生成的安全随机数创建。生成的值仅显示在此屏幕上,不会被保存或上传。
- 选择长度和字符类型,然后点击“生成密码”。
- 输入范围和数量,然后点击“生成数字”,即可在范围内抽取整数。
- 复制结果,粘贴到密码管理器或任何需要的地方。
熵是如何计算的?
我们统计包含所有选中字符类型的长度为 N 的字符串数量,并将该数量的以 2 为底的对数作为熵(单位为比特)显示。只有一种字符类型时,它等于 长度 × log2(字符数);保证包含每种选中的类型会略微减少字符串数量,因此该值会稍低一些。
这只是针对已知长度和字符类型、只能随机猜测的攻击者的理论估算,并不保证安全。此方法下并非每种组合的概率都完全相同,因此实际值可能比显示的略低。在其他地方重复使用的密码,或因泄露、网络钓鱼或恶意软件而暴露的密码,无论熵多高都得不到保护。
随机整数的熵是每次抽取可选项数量的 log2 之和,并且包含抽取的顺序。
数字是如何均匀抽取的?
将随机数对范围大小取模会使某些值出现得更频繁,这称为模偏差。本工具使用拒绝采样:丢弃超过范围大小最大整数倍的抽取结果并重新抽取,使每个值的概率相同。不重复抽取则使用 Fisher–Yates 方法,每次选取一个值。
限制
- 密码长度为 8 到 128 个字符。
- 随机整数的范围是 -9,007,199,254,740,991 到 9,007,199,254,740,991,范围大小最大为 9,007,199,254,740,991,每次最多抽取 1,000 个数字。
- 仅使用符号 !@#$%^&*()-_=+[]{}:;,.?,部分网站可能不接受全部符号。
- 本工具不包含经过审核的词表,因此不提供由单词组成的口令短语模式。
- 如果浏览器没有安全随机数生成器,不会使用备用方案,而是显示错误。
常见问题
生成的密码会被上传或保存吗?
不会。密码仅在此浏览器内创建,只显示在屏幕上。保存按钮只保存长度和字符类型等选项,绝不保存生成的值。重新加载页面后即会消失,因此如需使用,请立即粘贴到密码管理器中。
为什么要排除易混淆字符?
它会去掉 I、l、1、O 和 0 等在某些字体中难以区分的字符,从而减少手动抄写时的错误。字符减少后,熵会略微降低。
可以用于正式抽奖吗?
不建议。没有审计记录,也没有外部验证。