Class DevRandom

java.lang.Object
gnu.crypto.prng.DevRandom
All Implemented Interfaces:
IRandomStandalone, Cloneable

class DevRandom extends Object implements IRandomStandalone
Simple /dev/random reader
Since:
0.9.58
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addRandomByte(byte b)
    Supplement, or possibly replace, the random state of this PRNG with a random byte.
    void
    addRandomBytes(byte[] in)
    Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.
    void
    addRandomBytes(byte[] in, int offset, int length)
    Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.
    Returns a clone copy of this instance.
    void
    init(Map<String,byte[]> attributes)
    Initialises the pseudo-random number generator scheme with the appropriate attributes.
    Returns the canonical name of this instance.
    byte
    Returns the next 8 bits of random data generated from this instance.
    void
    nextBytes(byte[] out)
     
    void
    nextBytes(byte[] out, int offset, int length)
    Fills the designated byte array, starting from byte at index offset, for a maximum of length bytes with the output of this generator instance.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DevRandom

      DevRandom()
  • Method Details

    • name

      public String name()
      Description copied from interface: IRandomStandalone

      Returns the canonical name of this instance.

      Specified by:
      name in interface IRandomStandalone
      Returns:
      the canonical name of this instance.
    • init

      public void init(Map<String,byte[]> attributes)
      Description copied from interface: IRandomStandalone

      Initialises the pseudo-random number generator scheme with the appropriate attributes.

      Specified by:
      init in interface IRandomStandalone
      Parameters:
      attributes - a set of name-value pairs that describe the desired future instance behaviour.
    • nextByte

      public byte nextByte()
      Description copied from interface: IRandomStandalone

      Returns the next 8 bits of random data generated from this instance.

      Specified by:
      nextByte in interface IRandomStandalone
      Returns:
      the next 8 bits of random data generated from this instance.
    • nextBytes

      public void nextBytes(byte[] out) throws IllegalStateException
      Specified by:
      nextBytes in interface IRandomStandalone
      Throws:
      IllegalStateException
      Since:
      0.9.58 added to interface
    • nextBytes

      public void nextBytes(byte[] out, int offset, int length) throws IllegalStateException
      Description copied from interface: IRandomStandalone

      Fills the designated byte array, starting from byte at index offset, for a maximum of length bytes with the output of this generator instance.

      Specified by:
      nextBytes in interface IRandomStandalone
      Parameters:
      out - the placeholder to contain the generated random bytes.
      offset - the starting index in out to consider. This method does nothing if this parameter is not within 0 and out.length.
      length - the maximum number of required random bytes. This method does nothing if this parameter is less than 1.
      Throws:
      IllegalStateException - if the instance is not yet initialised. theoretical limit for generating non-repetitive pseudo-random data.
    • addRandomByte

      public void addRandomByte(byte b)
      Description copied from interface: IRandomStandalone

      Supplement, or possibly replace, the random state of this PRNG with a random byte.

      Implementations are not required to implement this method in any meaningful way; this may be a no-operation, and implementations may throw an UnsupportedOperationException.

      Specified by:
      addRandomByte in interface IRandomStandalone
      Parameters:
      b - The byte to add.
    • addRandomBytes

      public void addRandomBytes(byte[] in)
      Description copied from interface: IRandomStandalone

      Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.

      Implementations are not required to implement this method in any meaningful way; this may be a no-operation, and implementations may throw an UnsupportedOperationException.

      Specified by:
      addRandomBytes in interface IRandomStandalone
      Parameters:
      in - The buffer of new random bytes to add.
    • addRandomBytes

      public void addRandomBytes(byte[] in, int offset, int length)
      Description copied from interface: IRandomStandalone

      Supplement, or possibly replace, the random state of this PRNG with a sequence of new random bytes.

      Implementations are not required to implement this method in any meaningful way; this may be a no-operation, and implementations may throw an UnsupportedOperationException.

      Specified by:
      addRandomBytes in interface IRandomStandalone
      Parameters:
      in - The buffer of new random bytes to add.
      offset - The offset from whence to begin reading random bytes.
      length - The number of random bytes to add.
    • clone

      public Object clone() throws CloneNotSupportedException
      Description copied from interface: IRandomStandalone

      Returns a clone copy of this instance.

      Specified by:
      clone in interface IRandomStandalone
      Overrides:
      clone in class Object
      Returns:
      a clone copy of this instance.
      Throws:
      CloneNotSupportedException