随机生成器
生成加密安全的随机数字、密码或字符串。
随机数并不像看起来那么随机——这在某些情况下至关重要
大多数软件随机数生成器——包括浏览器中的——都是伪随机的:它们使用确定性算法,以不可预测的值(如当前时间戳的微秒数)作为种子。对于游戏、模拟、随机抽取和掷骰子来说,这完全足够。但对于密码学用途——生成密码、密钥或安全令牌——您需要能通过Web Crypto API访问的密码学安全随机数生成器,本工具的密码生成功能正是使用了这一接口。
密码强度几乎完全取决于长度和字符池大小。仅使用小写字母的8位密码有26^8种组合——约2000亿种,听起来很多,但现代GPU数小时即可破解。由94个字符(字母、数字、符号)组成的16位密码有94^16种组合——超过10^31,用暴力破解在计算上是不可行的。每增加一个字符,搜索空间就以字符池大小为倍数指数级增长。
Frequently asked questions
网站上的随机数生成器有多随机?
对于非安全用途,基于浏览器的随机数生成<strong>在实际使用中足够随机</strong>。这些数字在物理意义上并非真正随机,但序列足够长且不可预测,能通过所有标准统计随机性测试。只有在生成密码学材料——密钥、密码或令牌——时,这一区别才真正重要。此时,本工具使用的Web Crypto API提供的才是真正的密码学安全随机数。
什么样的密码才算强密码?
长度比复杂度更重要。<strong>16位密码比8位密码强得多</strong>,即便后者使用了更多特殊字符。数学原理:每增加一个字符,暴力破解的搜索空间就乘以字符池大小。任何保护真实账户的密码,请至少使用16位。使用密码管理器——瓶颈不在于生成强密码,而在于安全存储它们,避免在不同网站重复使用同一个密码。
从列表中随机抽取姓名或项目是否公平?
是的,在实际使用中——列表中的每个项目被选中的概率相同。只有当列表中存在<strong>重复条目</strong>时,公平性才会被打破,因为重复条目的被选概率会相应提高。如果您正在举办有一定利益关系的抽奖或比赛,请考虑使用可验证的公共随机性来源,例如NIST随机性信标或公开透明的抽签方式——基于浏览器的抽取结果在事后无法被独立审计。
随机数和掷骰子有什么区别?
从机制上看,掷骰子不过是在固定范围内生成一个随机整数——六面骰是1到6的随机数,二十面骰是1到20的随机数。区别在于<strong>实体骰子存在已知的偏差来源</strong>:制造不精、棱面磨损和表面纹理都会在数千次投掷中轻微影响结果。软件骰子在其范围内是数学上无偏的。对于桌游来说,这种差异可以忽略不计;对于统计模拟,软件骰子更为可靠。
Advertisement
728 × 90