Class DigestRandomGenerator

  • All Implemented Interfaces:
    RandomGenerator

    public class DigestRandomGenerator
    extends Object
    implements RandomGenerator
    Random generation based on the digest with counter. Calling addSeedMaterial will always increase the entropy of the hash.

    Internal access to the digest is synchronized so a single one of these can be shared.

    • Constructor Detail

      • DigestRandomGenerator

        public DigestRandomGenerator​(Digest digest)
    • Method Detail

      • addSeedMaterial

        public void addSeedMaterial​(byte[] inSeed)
        Description copied from interface: RandomGenerator
        Add more seed material to the generator.
        Specified by:
        addSeedMaterial in interface RandomGenerator
        Parameters:
        inSeed - a byte array to be mixed into the generator's state.
      • addSeedMaterial

        public void addSeedMaterial​(long rSeed)
        Description copied from interface: RandomGenerator
        Add more seed material to the generator.
        Specified by:
        addSeedMaterial in interface RandomGenerator
        Parameters:
        rSeed - a long value to be mixed into the generator's state.
      • nextBytes

        public void nextBytes​(byte[] bytes)
        Description copied from interface: RandomGenerator
        Fill bytes with random values.
        Specified by:
        nextBytes in interface RandomGenerator
        Parameters:
        bytes - byte array to be filled.
      • nextBytes

        public void nextBytes​(byte[] bytes,
                              int start,
                              int len)
        Description copied from interface: RandomGenerator
        Fill part of bytes with random values.
        Specified by:
        nextBytes in interface RandomGenerator
        Parameters:
        bytes - byte array to be filled.
        start - index to start filling at.
        len - length of segment to fill.