Class RandomSaltGenerator

Object
org.jasypt.salt.RandomSaltGenerator
All Implemented Interfaces:
SaltGenerator

public class RandomSaltGenerator extends Object implements SaltGenerator

This implementation of SaltGenerator holds a secure random generator which can be used for generating random salts for encryption or digesting.

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.2
Author:
Daniel Fernández
  • 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 RandomSaltGenerator using the default secure random number generation algorithm.
    RandomSaltGenerator(String secureRandomAlgorithm)
    Creates a new instance of RandomSaltGenerator specifying a secure random number generation algorithm.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    generateSalt(int lengthBytes)
    Generate a random salt of the specified length in bytes.
    boolean
    This salt generator needs the salt 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

    • RandomSaltGenerator

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

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

    • generateSalt

      public byte[] generateSalt(int lengthBytes)
      Generate a random salt of the specified length in bytes.
      Specified by:
      generateSalt in interface SaltGenerator
      Parameters:
      lengthBytes - length in bytes.
      Returns:
      the generated salt.
    • includePlainSaltInEncryptionResults

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