|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.crypto.AbstractPseudoRandomSource
net.rim.device.api.crypto.PKCS5KDF2PseudoRandomSource
public final class PKCS5KDF2PseudoRandomSource
Provides PKCS #5 Key Derivation Function 2 pseudo random number generation. This is the recommended algorithm for new applications because the derived key length is not dependent on the hash algorithm length.
We implemented the PKCS5 KDF2 as per PKCS #5 version 2.0 ( March 1999 ).
Constructor Summary | ||
---|---|---|
|
PKCS5KDF2PseudoRandomSource(byte[] password,
byte[] salt,
int iterationCount)
Creates a PKCS5KDF2PseudoRandomSource object with the desired parameters using
the default SHA-1 digest algorithm. |
|
|
PKCS5KDF2PseudoRandomSource(byte[] password,
int offset,
int length,
byte[] salt,
int iterationCount)
Creates a PKCS5KDF2PseudoRandomSource object with the desired parameters using
the default SHA-1 digest algorithm. |
|
|
PKCS5KDF2PseudoRandomSource(byte[] password,
int offset,
int length,
byte[] salt,
int iterationCount,
Digest digest)
Creates a PKCS5KDF2PseudoRandomSource object with the desired parameters. |
|
|
PKCS5KDF2PseudoRandomSource(HMACKey key,
byte[] salt,
int iterationCount,
Digest digest)
Creates a PKCS5KDF2PseudoRandomSource object with the desired parameters. |
Method Summary | ||
---|---|---|
|
String |
getAlgorithm()
Returns the name of this PseudoRandomSource "PKCS5KDF2". |
|
int |
getAvailable()
Returns the number of pseudo random bytes currently available. |
|
int |
getMaxAvailable()
Returns the maximum number of pseudo random bytes that this PRNG can produce. |
|
void |
xorBytes(byte[] buffer,
int offset,
int length)
Exclusive-OR's (xor) random bytes into the given buffer starting at the specified array offset. |
Methods inherited from class net.rim.device.api.crypto.AbstractPseudoRandomSource |
---|
getBytes, getBytes, getBytes, xorBytes, xorBytes, xorCopy, xorCopy |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.rim.device.api.crypto.PseudoRandomSource |
---|
getBytes, getBytes, getBytes, xorBytes, xorBytes, xorCopy, xorCopy |
Constructor Detail |
---|
public PKCS5KDF2PseudoRandomSource(byte[] password, byte[] salt, int iterationCount)
PKCS5KDF2PseudoRandomSource
object with the desired parameters using
the default SHA-1 digest algorithm.
password
- The password used to initialize the HMAC function.salt
- The salt data that is hashed to generate the key data.iterationCount
- The number of times to hash each block of the key.public PKCS5KDF2PseudoRandomSource(byte[] password, int offset, int length, byte[] salt, int iterationCount)
PKCS5KDF2PseudoRandomSource
object with the desired parameters using
the default SHA-1 digest algorithm.
password
- The password used to initialize the HMAC function.offset
- The offset, or starting position, of the password data
within the array.length
- The number of bytes to use as password data.salt
- The salt data that is hashed to generate the key data.iterationCount
- The number of times to hash each block of the key.public PKCS5KDF2PseudoRandomSource(byte[] password, int offset, int length, byte[] salt, int iterationCount, Digest digest)
PKCS5KDF2PseudoRandomSource
object with the desired parameters.
password
- The password used to initialize the HMAC function.offset
- The offset, or starting position, of the password data
within the array.length
- The number of bytes to use as password data.salt
- The salt data that is hashed to generate the key data.iterationCount
- The number of times to hash each block of the key.digest
- The digestpublic PKCS5KDF2PseudoRandomSource(HMACKey key, byte[] salt, int iterationCount, Digest digest) throws CryptoTokenException, CryptoUnsupportedOperationException
PKCS5KDF2PseudoRandomSource
object with the desired parameters.
key
- The key used to initialize the HMAC function.salt
- The salt data that is hashed to generate the key data.iterationCount
- The number of times to hash each block of the key.digest
- The digest algorithm to use.
CryptoTokenException
- Thrown when an error occurs with a crypto
token or the crypto token is invalid.
CryptoUnsupportedOperationException
- Thrown when a call is made to
an unsupported operation.Method Detail |
---|
public String getAlgorithm()
This method will always return the String "PKCS5KDF2".
getAlgorithm
in interface PseudoRandomSource
public void xorBytes(byte[] buffer, int offset, int length)
xorBytes
in interface PseudoRandomSource
xorBytes
in class AbstractPseudoRandomSource
buffer
- The buffer to xor the bytes into.offset
- The starting offset within buffer.length
- The number of bytes to xor.public int getAvailable()
PseudoRandomSource
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX
.
getAvailable
in interface PseudoRandomSource
public int getMaxAvailable()
PseudoRandomSource
For PRNG sources that have an indefinite length but implement
this interface, the value returned is Integer.MAX
.
getMaxAvailable
in interface PseudoRandomSource
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal