有没有办法在知道前一个种子的情况下计算下一个种子?

Is there anyway to calculate the next seed knowing the previous seed?

我正在尝试在 Python 中开发一个程序来预测伪随机数生成器的结果。 我已经有一个程序可以使用 seed = random.getstate() 获取先前生成的数字的种子。我的问题是有没有什么方法可以计算下一个将要使用的种子,这样我就可以预测下一个数字。

伪随机数生成器之所以如此命名是因为它们是确定性的;他们生成一系列看似随机的数字,但实际上并非如此。如果你用相同的种子启动 PRNG,你每次都会得到相同的序列。

I already have a programm that gets the seed of the previous generated number using seed = random.getstate()

你在这里得到的并不是真正的种子,而是PRNG的内部状态。您可以保存该状态并稍后再次设置。这可能对测试有用,或者只是为了继续相同的序列。

Now, my question is if there is anyway to calculate the next seed that will be used, so I can predict the number.

同样,不是真正的 seed,它是您提供给 start PRNG 序列的初始值。您得到的是 PRNG 的内部状态。但是,是的,如果你有那个状态,那么预测下一个数字就很简单了:只需用你得到的状态调用 random.setstate(...),生成下一个数字,然后再次调用 random.setstate(...) 来放置 PRNG回到相同的状态,以便它再次生成相同的数字。