Class SecureRandomSpi

  • All Implemented Interfaces:
    Serializable


    public abstract class SecureRandomSpi
    extends Object
    implements Serializable
    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.
    Since:
    1.2
    See Also:
    SecureRandom, Serialized Form
    • Constructor Detail

      • SecureRandomSpi

        public SecureRandomSpi()
    • Method Detail

      • engineSetSeed

        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.
        Parameters:
        seed - the seed.
      • engineNextBytes

        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.
      • engineGenerateSeed

        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.
        Returns:
        the seed bytes.