🎲 随机数生成
采用 Web Crypto API (crypto.getRandomValues) 生成加密级别的安全随机数,这是浏览器提供的最高安全级别随机数生成器,具有以下特点:
- ✅ 不可预测性:基于操作系统熵源,无法被预测或操控
- ✅ 密码学安全:符合 NIST SP 800-90A 标准
- ✅ 无周期性:不会出现伪随机数的周期重复问题
🎯 选择算法
使用 Fisher-Yates 洗牌算法(也称 Knuth 洗牌),这是数学上证明的等概率随机排列算法:
- ✅ 每个参与者被选中的概率完全相等
- ✅ 时间复杂度 O(n),高效公平
- ✅ 已中奖者自动排除,不会重复中奖
🛡️ 公平性保障
- ✅ 所有随机计算在客户端实时进行,无后台干预
- ✅ 代码开源可审计,算法透明
- ✅ 每次抽奖独立,历史结果不影响后续概率
- ✅ 批量抽奖与单次抽奖使用相同算法