0

我有一个使用 java SecureRandom 类的 kotlin 应用程序。在其中,我像这样实例化一个 RNG:

val rng : SecureRandom = SecureRandom()

然后我定期重新播种:

rng.reseed()

在我的 Windows 机器上,这工作正常。但是在 mac 上,我得到一个不受支持的操作异常,这意味着底层SecureRandomSpi从未设置过。一个解决方案似乎是SecureRandomSpi在 SecureRandom 构造函数中手动设置,我可能会走那条路,但是:

  • 我不知道该怎么做(需要深入研究所有这些事情的实际含义,这不是我现在有时间的事情)
  • 它并没有真正回答为什么会这样

奇怪的是,如果我打电话setSeed()而不是reseed()这样:

val seed = rng.generateSeed(256)
rng.setSeed(seed)

一切正常。

任何帮助,将不胜感激。

4

0 回答 0