FixedSecureRandom (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.prng

## Class FixedSecureRandom

- java.lang.Object
- - java.util.Random
  - - java.security.SecureRandom
    - - org.bouncycastle.crypto.prng.FixedSecureRandom

- All Implemented Interfaces:
    java.io.Serializable

      public class FixedSecureRandom
      extends java.security.SecureRandom

  A secure random that returns pre-seeded data to calls of nextBytes() or generateSeed().
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FixedSecureRandom(boolean intPad, byte[] value)` Pad the data on integer boundaries.
    `FixedSecureRandom(boolean intPad, byte[][] values)` Pad the data on integer boundaries.
    `FixedSecureRandom(byte[] value)`
    `FixedSecureRandom(byte[][] values)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `generateSeed(int numBytes)`
    `boolean` | `isExhausted()`
    `void` | `nextBytes(byte[] bytes)`
    `int` | `nextInt()`
    `long` | `nextLong()`

    - ### Methods inherited from class java.security.SecureRandom

      `getAlgorithm, getInstance, getInstance, getInstance, getInstanceStrong, getProvider, getSeed, next, setSeed, setSeed`

    - ### Methods inherited from class java.util.Random

      `doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextDouble, nextFloat, nextGaussian, nextInt`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FixedSecureRandom

          public FixedSecureRandom(byte[] value)

    - #### FixedSecureRandom

          public FixedSecureRandom(byte[][] values)

    - #### FixedSecureRandom

          public FixedSecureRandom(boolean intPad,
                                   byte[] value)

      Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger implementation.

    - #### FixedSecureRandom

          public FixedSecureRandom(boolean intPad,
                                   byte[][] values)

      Pad the data on integer boundaries. This is necessary for the classpath project's BigInteger implementation.

  - ### Method Detail

    - #### nextBytes

          public void nextBytes(byte[] bytes)

      Overrides:
        `nextBytes` in class `java.security.SecureRandom`

    - #### generateSeed

          public byte[] generateSeed(int numBytes)

      Overrides:
        `generateSeed` in class `java.security.SecureRandom`

    - #### nextInt

          public int nextInt()

      Overrides:
        `nextInt` in class `java.util.Random`

    - #### nextLong

          public long nextLong()

      Overrides:
        `nextLong` in class `java.util.Random`

    - #### isExhausted

          public boolean isExhausted()