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 DevRandom()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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.Object
clone()
Returns a clone copy of this instance.void
init(Map<String,byte[]> attributes)
Initialises the pseudo-random number generator scheme with the appropriate attributes.static boolean
isSupported()
String
name()
Returns the canonical name of this instance.byte
nextByte()
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 indexoffset
, for a maximum oflength
bytes with the output of this generator instance.
-
-
-
Method Detail
-
isSupported
public static boolean isSupported()
- Since:
- 0.9.66
-
name
public String name()
Description copied from interface:IRandomStandalone
Returns the canonical name of this instance.
- Specified by:
name
in interfaceIRandomStandalone
- 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 interfaceIRandomStandalone
- 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 interfaceIRandomStandalone
- Returns:
- the next 8 bits of random data generated from this instance.
-
nextBytes
public void nextBytes(byte[] out) throws IllegalStateException
- Specified by:
nextBytes
in interfaceIRandomStandalone
- Throws:
IllegalStateException
-
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 oflength
bytes with the output of this generator instance.- Specified by:
nextBytes
in interfaceIRandomStandalone
- 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 within0
andout.length
.length
- the maximum number of required random bytes. This method does nothing if this parameter is less than1
.- 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 interfaceIRandomStandalone
- 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 interfaceIRandomStandalone
- 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 interfaceIRandomStandalone
- 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 interfaceIRandomStandalone
- Overrides:
clone
in classObject
- Returns:
- a clone copy of this instance.
- Throws:
CloneNotSupportedException
-
-