java.security
public class SecureRandom extends Random
Modifier | Constructor and Description |
---|---|
|
SecureRandom()
Default constructor for SecureRandom.
|
|
SecureRandom(byte[] seed)
A constructor for SecureRandom.
|
protected |
SecureRandom(SecureRandomSpi secureRandomSpi,
Provider provider)
A constructor for SecureRandom.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
generateSeed(int numBytes)
Returns the specified number of seed bytes.
|
String |
getAlgorithm()
Returns the algorithm name used or "unknown" when the algorithm
used couldn't be determined (as when constructed by the protected
2 argument constructor).
|
static SecureRandom |
getInstance(String algorithm)
Returns an instance of a
SecureRandom from the first provider
that implements it. |
static SecureRandom |
getInstance(String algorithm,
Provider provider)
Returns an instance of a
SecureRandom for the specified
algorithm from the given provider. |
static SecureRandom |
getInstance(String algorithm,
String provider)
Returns an instance of a
SecureRandom for the specified
algorithm from the named provider. |
Provider |
getProvider()
Returns the provider being used by the current SecureRandom class.
|
static byte[] |
getSeed(int numBytes)
Returns the given number of seed bytes.
|
protected int |
next(int numBits)
Generates an integer containing the user specified
number of random bits.
|
void |
nextBytes(byte[] bytes)
Generates a user specified number of bytes.
|
void |
setSeed(byte[] seed)
Seeds the SecureRandom.
|
void |
setSeed(long seed)
Seeds the SecureRandom.
|
nextBoolean, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong
public SecureRandom()
getInstance(java.lang.String)
.public SecureRandom(byte[] seed)
seed
- Seed bytes for classprotected SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider)
secureRandomSpi
- A SecureRandomSpi classprovider
- A Provider classpublic static SecureRandom getInstance(String algorithm) throws NoSuchAlgorithmException
SecureRandom
from the first provider
that implements it.algorithm
- The algorithm name.SecureRandom
implementing the given algorithm.NoSuchAlgorithmException
- If no installed provider implements the
given algorithm.IllegalArgumentException
- if algorithm
is
null
or is an empty string.public static SecureRandom getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SecureRandom
for the specified
algorithm from the named provider.algorithm
- The algorithm name.provider
- The provider name.SecureRandom
implementing the chosen
algorithm.NoSuchAlgorithmException
- If the named provider does not implement
the algorithm, or if the implementation cannot be instantiated.NoSuchProviderException
- If no provider named provider
is currently installed.IllegalArgumentException
- if either algorithm
or
provider
is null
or empty.public static SecureRandom getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
SecureRandom
for the specified
algorithm from the given provider.algorithm
- The SecureRandom
algorithm to create.provider
- The provider to use.NoSuchAlgorithmException
- If the algorithm cannot be found, or if
the class cannot be instantiated.IllegalArgumentException
- if either algorithm
or
provider
is null
, or if
algorithm
is an empty string.public final Provider getProvider()
public String getAlgorithm()
public void setSeed(byte[] seed)
seed
- seed bytes to seed withpublic void setSeed(long seed)
public void nextBytes(byte[] bytes)
protected final int next(int numBits)
public static byte[] getSeed(int numBytes)
numBytes
- number of seed bytes to getpublic byte[] generateSeed(int numBytes)
numBytes
- number of seed bytes to get