随机数生成器
PRNG(伪随机数生成器)是一种算法,它以复杂且看似不可预测的模式输出数字。真正随机的数字(例如来自放射性源的数字)是完全不可预测的,而所有算法都是可预测的,并且 PRNG 在传递相同的起始参数或种子时会返回相同的数字。
PRNG 可用于各种应用程序,例如游戏。
密码安全的 PRNG 是一种 PRNG,它具有某些额外的属性,使其适合用于密码学。这些属性包括
- 对于攻击者来说,在不知道种子情况下,计算其输出是不可行的
- 如果攻击者能够找出其当前状态,这不应该使攻击者能够找出先前发出的数字。
大多数 PRNG 都不具有密码安全性。
另请参阅
- 伪随机数生成器 在维基百科上
Math.random()
,一个内置的 JavaScript PRNG 函数。请注意,这不是密码安全的 PRNG。Crypto.getRandomValues()
:此方法旨在提供密码安全的数字。