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

org.bouncycastle.crypto.prng

## Interface RandomGenerator

- All Known Implementing Classes:
    DigestRandomGenerator, ReversedWindowGenerator, VMPCRandomGenerator

      public interface RandomGenerator

  Generic interface for objects generating random bytes.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSeedMaterial(byte[] seed)` Add more seed material to the generator.
    `void` | `addSeedMaterial(long seed)` Add more seed material to the generator.
    `void` | `nextBytes(byte[] bytes)` Fill bytes with random values.
    `void` | `nextBytes(byte[] bytes, int start, int len)` Fill part of bytes with random values.

- - ### Method Detail

    - #### addSeedMaterial

          void addSeedMaterial(byte[] seed)

      Add more seed material to the generator.
      Parameters:
        `seed` - a byte array to be mixed into the generator's state.

    - #### addSeedMaterial

          void addSeedMaterial(long seed)

      Add more seed material to the generator.
      Parameters:
        `seed` - a long value to be mixed into the generator's state.

    - #### nextBytes

          void nextBytes(byte[] bytes)

      Fill bytes with random values.
      Parameters:
        `bytes` - byte array to be filled.

    - #### nextBytes

          void nextBytes(byte[] bytes,
                         int start,
                         int len)

      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.