安全密码生成器(密码学随机数、无偏差)
使用密码学安全随机数(crypto.getRandomValues)在浏览器中生成无偏差的随机密码。可设置长度、字符类型、排除易混淆字符,并显示熵。
- 在浏览器内处理(不上传)
8~128 个字符
1~100 个
排除的字符:0 O o 1 I l | ` ' "
生成的密码
可用字符
94 种
熵(每个密码)
130.9 比特
强度参考
非常强
熵表示即使攻击者知道这些设置(长度和字符类型),用暴力破解猜中密码所需的次数(以 2 的幂表示)。参考:低于 50 比特为弱,75 比特及以上为强,100 比特及以上为非常强。
正在生成…
密码只在本设备的浏览器中生成,不会保存、发送或记录。关闭页面后即消失,需要使用的密码请保存到密码管理器中。
使用方法
- 输入密码长度(8~128 个字符)和生成数量(1~100 个)。
- 选择要使用的字符类型(大写字母、小写字母、数字、符号),需要时可排除容易混淆的字符。
- 点击“复制”使用显示的密码;点击“重新生成”可生成新的一组密码。
常见问题
使用的是哪种随机数?
使用浏览器的 crypto.getRandomValues(密码学安全随机数生成器),并通过拒绝采样逐个选取字符,不会产生取模带来的偏差。完全不使用 Math.random。
一定包含所选的每种字符,为什么仍然没有偏差?
每个字符都从全部可用字符中均匀选取;如果候选密码缺少任何一种所选类型,就整个丢弃并重新生成。因此所有符合条件的密码出现概率都相同,不会像“先放入每种类型各 1 个字符再打乱顺序”那样偏向字符较少的类型。
哪些是容易混淆的字符?
共 10 个:数字 0 与字母 O、o,数字 1 与字母 I、l,竖线 |,以及不易分辨的引号(` ' ")。排除后可用字符变少,相同长度下熵会略微降低。
熵是怎么计算的?
用容斥原理精确计算符合设置的密码总数,再取以 2 为底的对数。这是假设攻击者知道长度和字符类型时的数值。
生成的密码会被保存或发送吗?
不会。密码只在本页面中生成,不会发送到服务器,也不会保存在浏览器、写入网址或记录到日志。
注意事项与限制
- 你输入的内容只在本页面处理,不会发送到 YUCTS 的服务器。
- 安全性也取决于使用方式:请勿在多个服务中重复使用同一个密码,并尽量开启两步验证。
- 关闭页面后生成的密码就会消失,需要使用的密码请自行保存到密码管理器中。
- 部分服务会限制可用符号或长度,遇到时请取消符号或调整长度。
- 熵和强度参考是对用此方法随机生成的密码的理论值。
相关工具
- 密码强度检测(被猜中的难易程度与破解时间)根据密码长度、字符类型、常见密码、键盘排列、连续字符和日期等模式,在浏览器内估算密码被猜中的难易程度与破解时间范围,不会发送或保存密码。
- UUID 生成与检查工具(批量生成 UUID v4)使用 crypto.randomUUID() 一次生成最多 10,000 个随机 UUID(版本 4),可复制或下载 TXT 文件。还能检查粘贴的 UUID 的版本、变体和内含时间。
- 文件哈希值计算(SHA-256/SHA-512 校验和)在浏览器内计算文件或文本的 SHA-256、SHA-512 哈希值,并与公布的校验和比对是否一致。文件不会上传。
- 文本加密/解密(AES-256-GCM 密码加密)在浏览器内用密码生成密钥,以 AES-256-GCM 加密和解密文本。使用随机盐值和随机数(nonce),可检测篡改;文本和密码都不会被发送或保存。
- 个人信息文本脱敏工具找出文本中的邮箱、电话号码、银行卡号、日本 My Number、台湾地区身份证号、IP 地址和网址并自动遮盖。全部在浏览器内处理,不上传也不保存。
- 可疑网址格式检查(@、IP、Punycode、短链接)粘贴网址即可列出结构特征,例如利用“@”的伪装、数字 IP 主机、Punycode 与混用文字、短链接和双重扩展名。不会打开链接,也不判定是否安全。