SecureRandomSpi
Stay organized with collections
Save and categorize content based on your preferences.
This class defines the Service Provider Interface (SPI)
for the SecureRandom
class.
All the abstract methods in this class must be implemented by each
service provider who wishes to supply the implementation
of a cryptographically strong pseudo-random number generator.
Public Constructor Summary
Protected Method Summary
abstract
byte[]
|
|
abstract
void
|
engineNextBytes(byte[] bytes)
Generates a user-specified number of random bytes.
|
abstract
void
|
|
Inherited Method Summary
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals( Object obj)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait(long timeout, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long timeout)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
Public Constructors
public
SecureRandomSpi
()
Protected Methods
protected
abstract
byte[]
engineGenerateSeed
(int numBytes)
Returns the given number of seed bytes. This call may be used to
seed other random number generators.
Parameters
numBytes |
the number of seed bytes to generate. |
protected
abstract
void
engineNextBytes
(byte[] bytes)
Generates a user-specified number of random bytes.
If a call to engineSetSeed
had not occurred previously,
the first call to this method forces this SecureRandom implementation
to seed itself. This self-seeding will not occur if
engineSetSeed
was previously called.
Parameters
bytes |
the array to be filled in with random bytes.
|
protected
abstract
void
engineSetSeed
(byte[] seed)
Reseeds this random object. The given seed supplements, rather than
replaces, the existing seed. Thus, repeated calls are guaranteed
never to reduce randomness.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["`SecureRandomSpi` is a Service Provider Interface (SPI) for the `SecureRandom` class, enabling developers to implement custom cryptographically strong pseudo-random number generators."],["Service providers must implement all abstract methods (`engineGenerateSeed`, `engineNextBytes`, `engineSetSeed`) to provide their SecureRandom implementation."],["`engineGenerateSeed` produces a specified number of seed bytes for seeding other random number generators."],["`engineNextBytes` generates random bytes, self-seeding on the first call if `engineSetSeed` hasn't been invoked."],["`engineSetSeed` supplements the existing seed with new data, ensuring repeated calls enhance rather than diminish randomness."]]],[]]