在 PRNG 函数中,函数的输出取决于“种子”值,因此在给定相同种子值的情况下,连续调用将提供相同的输出。所以,是的。
一个示例(使用 C#)将类似于:
// Provide the same seed value for both generators:
System.Random r1 = new System.Random(1);
System.Random r2 = new System.Random(1);
// Will output 'True'
Console.WriteLine(r1.Next() == r2.Next());
这当然取决于随机数生成器使用某种确定性公式来生成其值。如果您使用所谓的“真正随机”数生成器,它在生成过程中使用熵或噪声的属性,那么在给定一些输入的情况下很难生成相同的值,除非您能够复制熵状态两个调用函数 - 当然,这会破坏使用这种生成器的目的......
在远程无钥匙进入系统的情况下,他们很可能使用确定性的 PRNG 功能来利用此功能。有许多 IC 提供这种功能来为电子电路生成随机数。
编辑:根据要求,这是一个不依赖于指定种子值的非确定性随机数生成器的示例:Quantum Random Number Generator。当然,正如 freespace 在评论中指出的那样,这不是一个伪随机数生成器,因为它生成的是真正的随机数。