密码生成器
本地生成强随机密码
加载中…
这个工具有帮助吗?
关于此工具
按你选择的长度和字符类型生成随机密码。使用crypto.getRandomValues()获取密码学安全的随机数,并用拒绝采样的方式丢弃超出范围的值,避免取模运算带来的偏差。像l、I、O、0、1这类容易混淆的字符从一开始就被排除在字符集之外。
使用方法
- 用长度滑块(8~64个字符)设置密码长度。
- 用小写字母、大写字母、数字、符号复选框选择要包含的字符类型。
- 选择生成数量(1/3/5/10)后会一次性生成对应数量的密码,并用进度条显示大致强度(位数)。
- 点击重新生成按钮生成新值,用复制按钮获取你需要的密码。
常见问题
- 这个密码使用了多安全的随机数生成?
- 使用的是crypto.getRandomValues(),而不是Math.random()。为了避免取模运算导致某些字符更容易出现的偏差,超出范围的随机数会被丢弃并重新抽取。
- 为什么看不到l、I、O、0、1这类字符?
- 小写l和大写I、大写O和数字0、数字1这类因字体而容易混淆的字符,已经从字符集中完全排除,这样手动抄写密码时出错的概率会降低。
- 屏幕上显示的位数是什么意思?
- 这是根据所选字符集大小和密码长度计算出的大致熵值。数值越大,意味着暴力破解所需的尝试次数呈指数级增长;72位以上会标记为强。
- 生成的密码会被保存或发送到服务器吗?
- 不会。全部在浏览器内生成,不会发送到服务器。
此页面生成的密码不会发送到服务器,但如果屏幕一直开着,其他人可能会看到。计划实际使用的密码,生成后请立即保存到安全的地方,并从屏幕上清除。