# Class SecureRandomSeedGenerator

java.lang.Object
org.uncommons.maths.random.SecureRandomSeedGenerator

All Implemented Interfaces:
  `SeedGenerator`

public class SecureRandomSeedGenerator extends Object implements SeedGenerator

`SeedGenerator` implementation that uses Java's bundled `SecureRandom` RNG 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 `SeedGenerator` implementations be useable.

## Constructor Summary

Constructors
Constructor
Description
`SecureRandomSeedGenerator()`

## Method Summary

Modifier and Type
Method
Description
`byte[]`
`generateSeed(int length)`
Generate a seed value for a random number generator.
`String`
`toString()`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### SecureRandomSeedGenerator

public SecureRandomSeedGenerator()

## Method Details

### generateSeed

public byte[] generateSeed(int length) throws SeedException
Generate a seed value for a random number generator.

Specified by:
  `generateSeed` in interface `SeedGenerator`
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 String toString()

Overrides:
  `toString` in class `Object`