Serializable
, EntropyHarvester
FortunaRandomSource
public class RandomSource extends SecureRandom implements EntropyHarvester
Modifier and Type | Field | Description |
---|---|---|
protected I2PAppContext |
_context |
Constructor | Description |
---|---|
RandomSource(I2PAppContext context) |
Deprecated - do not instantiate this directly, as you won't get the
good one (Fortuna).
|
Modifier and Type | Method | 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) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextDouble, nextFloat, nextGaussian, nextInt, nextLong
generateSeed, getAlgorithm, getInstance, getInstance, getInstance, getInstance, getInstance, getInstance, getInstanceStrong, getParameters, getProvider, getSeed, next, nextBytes, nextBytes, reseed, reseed, setSeed, setSeed, toString
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)