public class RandomSource extends SecureRandom implements EntropyHarvester
Modifier and Type | Field and Description |
---|---|
protected I2PAppContext |
_context |
Constructor and Description |
---|
RandomSource(I2PAppContext context)
Deprecated - do not instantiate this directly, as you won't get the
good one (Fortuna).
|
Modifier and Type | Method and Description |
---|---|
void |
feedEntropy(String source,
byte[] data,
int offset,
int len)
Feed the entropy pools with data[offset:offset+len]
|
void |
feedEntropy(String source,
long data,
int bitoffset,
int bits)
Feed the entropy pools with the bits in the data
|
static RandomSource |
getInstance()
Singleton for whatever PRNG i2p uses.
|
EntropyHarvester |
harvester() |
boolean |
initSeed(byte[] buf)
May block up to 10 seconds
|
void |
loadSeed()
May block up to 10 seconds
|
void |
nextBytes(byte[] buf,
int offset,
int length)
Not part of java.util.SecureRandom, but added since Fortuna supports it.
|
int |
nextInt(int n)
According to the java docs (http://java.sun.com/j2se/1.4.1/docs/api/java/util/Random.html#nextInt(int))
nextInt(n) should return a number between 0 and n (including 0 and excluding n).
|
long |
nextLong(long n)
Like the modified nextInt, nextLong(n) returns a random number from 0 through n,
including 0, excluding n.
|
void |
saveSeed() |
static void |
writeSeed(byte[] buf) |
generateSeed, getAlgorithm, getInstance, getInstance, getInstance, getProvider, getSeed, next, nextBytes, setSeed, setSeed
nextBoolean, nextDouble, nextFloat, nextGaussian, nextInt, nextLong
protected final transient I2PAppContext _context
public RandomSource(I2PAppContext context)
public static RandomSource getInstance()
public int nextInt(int n)
public long nextLong(long n)
public void nextBytes(byte[] buf, int offset, int length)
public EntropyHarvester harvester()
public void feedEntropy(String source, long data, int bitoffset, int bits)
EntropyHarvester
feedEntropy
in interface EntropyHarvester
source
- origin of the entropy, allowing the harvester to
determine how much to value the databitoffset
- bit index into the data array to start
(using java standard big-endian)bits
- how many bits to usepublic void feedEntropy(String source, byte[] data, int offset, int len)
EntropyHarvester
feedEntropy
in interface EntropyHarvester
source
- origin of the entropy, allowing the harvester to
determine how much to value the dataoffset
- index into the data array to startlen
- how many bytes to usepublic void loadSeed()
public void saveSeed()
public static final void writeSeed(byte[] buf)
public final boolean initSeed(byte[] buf)