|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
PseudoRandomSource is an interface that represents a pseudo-random number generator (PRNG).
A PRNG expands a finite length seed into an arbitrarily long stream of pseudo-random bytes.
| Method Summary | ||
|
String |
getAlgorithm()
Returns the name of the algorithm, eg "X963KDF". |
|
int |
getAvailable()
Returns the number of pseudo random bytes currently available. |
|
void |
getBytes(byte[] buffer)
Generates random bytes, filling the given buffer entirely. |
|
void |
getBytes(byte[] buffer,
int offset,
int length)
Inserts random bytes into the given buffer starting at the specified array offset. |
|
byte[] |
getBytes(int length)
Generates a specified length of random bytes, returning them as a byte array of exactly that size. |
|
int |
getMaxAvailable()
Returns the maximum number of pseudo random bytes that this PRNG can produce. |
|
void |
xorBytes(byte[] buffer)
Exclusive-OR's (xor) random bytes into the given buffer. |
|
void |
xorBytes(byte[] buffer,
int offset,
int length)
Exclusive-OR's (xor) random bytes into the given buffer starting at the specified array offset. |
|
void |
xorBytes(byte[] data,
int dataOffset,
int dataLength,
byte[] buffer,
int bufferOffset)
Copies the bytes of the given data into the given buffer, and then exclusive-OR's random bytes into the copy. |
|
byte[] |
xorCopy(byte[] data)
Copies the bytes of the given data into a new buffer, and then exclusive-OR's random bytes into the copy. |
|
byte[] |
xorCopy(byte[] data,
int offset,
int length)
Copies the bytes of the given data into a new buffer, and then exclusive-OR's random bytes into the copy. |
| Method Detail |
public String getAlgorithm()
public int getAvailable()
throws CryptoTokenException
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX.
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public void getBytes(byte[] buffer)
throws CryptoTokenException
buffer - The array to fill with random bytes.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public void getBytes(byte[] buffer,
int offset,
int length)
throws CryptoTokenException
buffer - The array to hold the bytes.offset - The starting offset, or initial bit position, of the data within the buffer.length - The number of bytes to get.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public byte[] getBytes(int length)
throws CryptoTokenException
length - The number of random bytes to generate.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public int getMaxAvailable()
throws CryptoTokenException
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX.
CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public void xorBytes(byte[] buffer)
throws CryptoTokenException
buffer - The buffer to be xor'ed with the random bytes.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public void xorBytes(byte[] buffer,
int offset,
int length)
throws CryptoTokenException
buffer - The buffer to xor the bytes into.offset - The starting offset, or initial bit position, of the data
within the buffer.length - The number of bytes to xor.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public void xorBytes(byte[] data,
int dataOffset,
int dataLength,
byte[] buffer,
int bufferOffset)
throws CryptoTokenException
data - The array containing the data to xor.dataOffset - The starting offset, or initial position, of the data within the buffer.dataLength - The number of bytes to xor.buffer - The buffer to xor the bytes into.offset - The starting offset, or initial bit position, of the data
within the buffer.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public byte[] xorCopy(byte[] data)
throws CryptoTokenException
data - The data to be xor'ed.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
public byte[] xorCopy(byte[] data,
int offset,
int length)
throws CryptoTokenException
data - The array containing the data to xor.offset - The starting offset, or initial position, of the data within the buffer.length - The number of bytes to xor.IllegalStateException - if the available random bytes are exhausted.CryptoTokenException - Thrown when a problem occurs with a crypto token or the crypto token is invalid.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.