I looked through Java
's Random
class and saw that the initial seed is created using:
public Random() {
this(seedUniquifier() ^ System.nanoTime());
}
But every consecutive seed is derived from old seed using:nextseed = (oldseed * multiplier + addend) & mask;
Why is new seed
derived from old seed
instead of being derived from system time
every time? Maybe even put the system to sleep randomly (0-10ms, depending on last digit of system time or something like that) to ensure even more randomness.
Aucun commentaire:
Enregistrer un commentaire