Class PRNG

  • All Implemented Interfaces:
    VertxContextPRNG

    public class PRNG
    extends Object
    implements VertxContextPRNG
    Wrapper around secure random that periodically seeds the PRNG with new entropy. To avoid entropy exhaustion the entropy is only refreshed if the PRNG is used. This introduces a new variable which reduces the probability of cracking the random number generator.
    Author:
    Paulo Lopes
    • Constructor Detail

      • PRNG

        public PRNG​(Vertx vertx)
    • Method Detail

      • nextBytes

        public void nextBytes​(byte[] bytes)
        Description copied from interface: VertxContextPRNG
        Fills the given byte array with random bytes.
        Specified by:
        nextBytes in interface VertxContextPRNG
        Parameters:
        bytes - a byte array.
      • nextInt

        public int nextInt​(int bound)
        Description copied from interface: VertxContextPRNG
        Returns a secure random int, between 0 (inclusive) and the specified bound (exclusive).
        Specified by:
        nextInt in interface VertxContextPRNG
        Parameters:
        bound - the upper bound (exclusive), which must be positive.
        Returns:
        random int.
      • nextFloat

        public float nextFloat()
        Description copied from interface: VertxContextPRNG
        Returns a secure random float value. The value is uniformly distributed between 0.0 and 1.0
        Specified by:
        nextFloat in interface VertxContextPRNG
        Returns:
        random float.
      • nextDouble

        public double nextDouble()
        Description copied from interface: VertxContextPRNG
        Returns a secure random double value. The value is uniformly distributed between 0.0 and 1.0
        Specified by:
        nextDouble in interface VertxContextPRNG
        Returns:
        random double.
      • nextGaussian

        public double nextGaussian()
        Description copied from interface: VertxContextPRNG
        Returns a secure random double value. The value is Gaussian ("normally") distributed with mean 0.0 and standard deviation 1.0
        Specified by:
        nextGaussian in interface VertxContextPRNG
        Returns:
        random double.
      • nextString

        public String nextString​(int length)
        Description copied from interface: VertxContextPRNG
        Returns a Base64 url encoded String of random data with the given length. The length parameter refers to the length of the String before the encoding step.
        Specified by:
        nextString in interface VertxContextPRNG
        Parameters:
        length - the desired string length before Base64 encoding.
        Returns:
        A base 64 encoded string.