Class DigestRandomGenerator

  • All Implemented Interfaces:
    RandomGenerator

    public class DigestRandomGenerator
    extends java.lang.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.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addSeedMaterial​(byte[] inSeed)
      Add more seed material to the generator.
      void addSeedMaterial​(long rSeed)
      Add more seed material to the generator.
      void nextBytes​(byte[] bytes)
      Fill bytes with random values.
      void nextBytes​(byte[] bytes, int start, int len)
      Fill part of bytes with random values.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.