1. 随机数生成的重要性与CSPRNG
随机数(Random Number)是不可预测的数值,对加密、安全防护、游戏和模拟仿真都不可或缺。普通的随机数生成器产生的是伪随机数(Pseudo-Random),本质上由算法计算得出,只要知道种子值就能被预测。在安全性要求高的场景中,必须使用CSPRNG(加密安全伪随机数生成器)。PHP的random_bytes()和random_int()函数就是CSPRNG,底层依赖/dev/urandom或CryptGenRandom等操作系统级熵源。JavaScript则提供crypto.getRandomValues()方法,利用浏览器自身的熵源生成随机值。而普通的Math.random()并不具备密码学安全性,绝对不能用于生成令牌、会话ID或加密密钥,否则会带来严重的安全隐患。