Package org.uncommons.maths.random
Class SecureRandomSeedGenerator
- java.lang.Object
-
- org.uncommons.maths.random.SecureRandomSeedGenerator
-
- All Implemented Interfaces:
SeedGenerator
public class SecureRandomSeedGenerator extends java.lang.Object implements SeedGenerator
SeedGeneratorimplementation that uses Java's bundledSecureRandomRNG to generate random seed data.The advantage of using SecureRandom for seeding but not as the primary RNG is that we can use it to seed RNGs that are much faster than SecureRandom.
This is the only seeding strategy that is guaranteed to work on all platforms and therefore is provided as a fall-back option should none of the other provided
SeedGeneratorimplementations be useable.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.security.SecureRandomSOURCE
-
Constructor Summary
Constructors Constructor Description SecureRandomSeedGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]generateSeed(int length)Generate a seed value for a random number generator.java.lang.StringtoString()
-
-
-
Method Detail
-
generateSeed
public byte[] generateSeed(int length) throws SeedExceptionGenerate a seed value for a random number generator.- Specified by:
generateSeedin interfaceSeedGenerator- Parameters:
length- The length of the seed to generate (in bytes).- Returns:
- A byte array containing the seed data.
- Throws:
SeedException- If a seed cannot be generated for any reason.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-