Package org.jasypt.iv

Class RandomIvGenerator

Object
org.jasypt.iv.RandomIvGenerator
All Implemented Interfaces:
IvGenerator

public class RandomIvGenerator extends Object implements IvGenerator

This implementation of IvGenerator holds a secure random generator which can be used for generating random initialization vectors (IV) for encryption.

The algorithm used for random number generation can be configured at instantiation time. If not, the default algorithm will be used.

This class is thread-safe.

Since:
1.9.3
Author:
Hoki Torres
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The default algorithm to be used for secure random number generation: set to SHA1PRNG.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new instance of RandomIvGenerator using the default secure random number generation algorithm.
    RandomIvGenerator(String secureRandomAlgorithm)
    Creates a new instance of RandomIvGenerator specifying a secure random number generation algorithm.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    generateIv(int lengthBytes)
    Generate a random IV of the specified length in bytes.
    boolean
    This IV generator needs the IV to be included unencrypted in encryption results, because of its being random.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_SECURE_RANDOM_ALGORITHM

      public static final String DEFAULT_SECURE_RANDOM_ALGORITHM
      The default algorithm to be used for secure random number generation: set to SHA1PRNG.
      See Also:
  • Constructor Details

    • RandomIvGenerator

      public RandomIvGenerator()
      Creates a new instance of RandomIvGenerator using the default secure random number generation algorithm.
    • RandomIvGenerator

      public RandomIvGenerator(String secureRandomAlgorithm)
      Creates a new instance of RandomIvGenerator specifying a secure random number generation algorithm.
  • Method Details

    • generateIv

      public byte[] generateIv(int lengthBytes)
      Generate a random IV of the specified length in bytes.
      Specified by:
      generateIv in interface IvGenerator
      Parameters:
      lengthBytes - length in bytes.
      Returns:
      the generated IV.
    • includePlainIvInEncryptionResults

      public boolean includePlainIvInEncryptionResults()
      This IV generator needs the IV to be included unencrypted in encryption results, because of its being random. This method will always return true.
      Specified by:
      includePlainIvInEncryptionResults in interface IvGenerator
      Returns:
      true