Class BouncyCastleRandom

  • All Implemented Interfaces:
    NamedResource, Random

    public final class BouncyCastleRandom
    extends AbstractRandom
    BouncyCastle Random. This pseudo random number generator uses the a very fast PRNG from BouncyCastle. The JRE random will be used when creating a new generator to add some random data to the seed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void fill​(byte[] bytes, int start, int len)
      Fill part of bytes with random values.
      java.lang.String getName()  
      private int next​(int numBits)  
      int random​(int n)
      Returns a pseudo-random uniformly distributed int in the half-open range [0, n).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.sshd.common.random.Random

        fill
    • Field Detail

      • random

        private final org.bouncycastle.crypto.prng.RandomGenerator random
    • Constructor Detail

      • BouncyCastleRandom

        public BouncyCastleRandom()
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns:
        The resource name
      • fill

        public void fill​(byte[] bytes,
                         int start,
                         int len)
        Description copied from interface: Random
        Fill part of bytes with random values.
        Parameters:
        bytes - byte array to be filled.
        start - index to start filling at.
        len - length of segment to fill.
      • random

        public int random​(int n)
        Returns a pseudo-random uniformly distributed int in the half-open range [0, n).
        Parameters:
        n - The range upper limit
        Returns:
        The randomly selected value in the range
      • next

        private int next​(int numBits)