I need a good* Random Number Generator that works on many different systems (also different JVM versions) and with the same seed always produces the same output.
(*good = an even distribution for boolean decision)
Since it will be part of a library provided to many different clients, I cannot control the JVMs/Systems this will run. But I need to reproduce the same random decision based on the different known seeds.
(Background: I want to do an “A/B Test-like” splitting in the back-end based on the user’s session ID. Later I need to correlate the tracked session to that decision.)
I found SplittableRandom
and tested the distribution which is pretty good.
Now I wonder if it is deterministic in all systems / for all JVMs, also the one coming in the future. Is this guaranteed somehow?