Java SecureRandom クラスを使用する kotlin アプリケーションがあります。その中で、次のように RNG をインスタンス化します。
val rng : SecureRandom = SecureRandom()
次に、定期的に再シードします。
rng.reseed()
私のWindowsマシンでは、これはうまくいきます。ただし、Mac では、サポートされていない操作の例外が発生します。これは、基になるものが設定されていないことを意味しSecureRandomSpiます。解決策は SecureRandom コンストラクターで を手動で設定しているように見えますがSecureRandomSpi、私はそのルートに行くかもしれませんが、
- その方法がわかりません(これらすべてが実際に何を意味するのかを掘り下げる必要がありますが、今のところ時間はありません)
- なぜこれが起こっているのか、それは本当に答えていません
setSeed()不思議なことに、このように代わりに呼び出すとreseed():
val seed = rng.generateSeed(256)
rng.setSeed(seed)
すべて正常に動作します。
どんな助けでも大歓迎です。