org.jasypt.digest.config

## Class EnvironmentDigesterConfig

- Object
- - org.jasypt.digest.config.SimpleDigesterConfig
  - - org.jasypt.digest.config.EnvironmentDigesterConfig

- All Implemented Interfaces:
    DigesterConfig
  Direct Known Subclasses:
    EnvironmentStringDigesterConfig

      public class EnvironmentDigesterConfig
      extends SimpleDigesterConfig

  Implementation for `DigesterConfig` which can retrieve configuration values from environment variables or system properties.

  The name of the environment variable or system property (JVM property) to query for each parameter can be set with its corresponding `setXEnvName` or `setXSysProperty` method.

  As this class extends `SimpleDigesterConfig`, parameter values can be also set with the usual `setX` methods.

  For any of the configuration parameters, if its value is not configured in any way, a `null` value will be returned by the corresponding `getX` method.

  Since:
    1.1
  Author:
    Daniel Fernández

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EnvironmentDigesterConfig()` Creates a new `EnvironmentDigesterConfig` instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getAlgorithmEnvName()` Retrieve the name of the environment variable which value has been loaded as the algorithm.
    `String` | `getAlgorithmSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the algorithm.
    `String` | `getInvertPositionOfPlainSaltInEncryptionResultsEnvName()` Retrieve the name of the environment variable which value has been loaded as the value for the invertPositionOfPlainSaltInEncryptionResults property.
    `String` | `getInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the value for the invertPositionOfPlainSaltInEncryptionResults property.
    `String` | `getInvertPositionOfSaltInMessageBeforeDigestingEnvName()` Retrieve the name of the environment variable which value has been loaded as the value for the invertPositionOfSaltInMessageBeforeDigesting property.
    `String` | `getInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the value for the invertPositionOfSaltInMessageBeforeDigesting property.
    `String` | `getIterationsEnvName()` Retrieve the name of the environment variable which value has been loaded as the iteration count.
    `String` | `getIterationsSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the iteration count.
    `String` | `getPoolSizeEnvName()` Retrieve the name of the environment variable which value has been loaded as the value for the poolSize property.
    `String` | `getPoolSizeSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the value for the poolSize property.
    `String` | `getProviderClassNameEnvName()` Retrieve the name of the environment variable which value has been loaded as the provider class name.
    `String` | `getProviderClassNameSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the provider class name.
    `String` | `getProviderNameEnvName()` Retrieve the name of the environment variable which value has been loaded as the provider name.
    `String` | `getProviderNameSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the provider name.
    `String` | `getSaltGeneratorClassNameEnvName()` Retrieve the name of the environment variable which value has been loaded as the salt generator class name.
    `String` | `getSaltGeneratorClassNameSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the salt generator class name.
    `String` | `getSaltSizeBytesEnvName()` Retrieve the name of the environment variable which value has been loaded as the salt size in bytes.
    `String` | `getSaltSizeBytesSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the salt size in bytes.
    `String` | `getUseLenientSaltSizeCheckEnvName()` Retrieve the name of the environment variable which value has been loaded as the value for the useLenientSaltSizeCheck property.
    `String` | `getUseLenientSaltSizeCheckSysPropertyName()` Retrieve the name of the JVM system property which value has been loaded as the value for the useLenientSaltSizeCheck property.
    `void` | `setAlgorithm(String algorithm)` Sets the name of the algorithm.
    `void` | `setAlgorithmEnvName(String algorithmEnvName)` Set the config object to use the specified environment variable to load the value for the algorithm.
    `void` | `setAlgorithmSysPropertyName(String algorithmSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the algorithm.
    `void` | `setInvertPositionOfPlainSaltInEncryptionResults(Boolean invertPositionOfPlainSaltInEncryptionResults)` Whether the plain (not hashed) salt bytes are to be appended after the digest operation result bytes.
    `void` | `setInvertPositionOfPlainSaltInEncryptionResultsEnvName(String invertPositionOfPlainSaltInEncryptionResultsEnvName)` Set the config object to use the specified environment variable to load the value for the invertPositionOfPlainSaltInEncryptionResults property.
    `void` | `setInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName(String invertPositionOfPlainSaltInEncryptionResultsSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the invertPositionOfPlainSaltInEncryptionResults property.
    `void` | `setInvertPositionOfSaltInMessageBeforeDigesting(Boolean invertPositionOfSaltInMessageBeforeDigesting)` Whether the salt bytes are to be appended after the message ones before performing the digest operation on the whole.
    `void` | `setInvertPositionOfSaltInMessageBeforeDigestingEnvName(String invertPositionOfSaltInMessageBeforeDigestingEnvName)` Set the config object to use the specified environment variable to load the value for the invertPositionOfSaltInMessageBeforeDigesting property.
    `void` | `setInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName(String invertPositionOfSaltInMessageBeforeDigestingSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the invertPositionOfSaltInMessageBeforeDigesting property.
    `void` | `setIterations(Integer iterations)` Sets the number of hashing iterations.
    `void` | `setIterations(String iterations)` Sets the number of hashing iterations.
    `void` | `setIterationsEnvName(String iterationsEnvName)` Set the config object to use the specified environment variable to load the value for the iteration count.
    `void` | `setIterationsSysPropertyName(String iterationsSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the iteration count.
    `void` | `setPoolSize(Integer poolSize)` Sets the size of the pool of digesters to be created.
    `void` | `setPoolSize(String poolSize)` Sets the size of the pool of digesters to be created.
    `void` | `setPoolSizeEnvName(String poolSizeEnvName)` Set the config object to use the specified environment variable to load the value for the poolSize property.
    `void` | `setPoolSizeSysPropertyName(String poolSizeSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.
    `void` | `setProvider(Provider provider)` Sets the security provider to be used for obtaining the digest algorithm.
    `void` | `setProviderClassName(String providerClassName)` Sets the class name for the security provider to be used for obtaining the digest algorithm.
    `void` | `setProviderClassNameEnvName(String providerClassNameEnvName)` Set the config object to use the specified environment variable to load the value for the provider class name.
    `void` | `setProviderClassNameSysPropertyName(String providerClassNameSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the provider class name.
    `void` | `setProviderName(String providerName)` Sets the name of the security provider to be asked for the digest algorithm.
    `void` | `setProviderNameEnvName(String providerNameEnvName)` Set the config object to use the specified environment variable to load the value for the provider name.
    `void` | `setProviderNameSysPropertyName(String providerNameSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the provider name.
    `void` | `setSaltGenerator(SaltGenerator saltGenerator)` Sets the salt generator.
    `void` | `setSaltGeneratorClassName(String saltGeneratorClassName)` Sets the class name of the salt generator.
    `void` | `setSaltGeneratorClassNameEnvName(String saltGeneratorClassNameEnvName)` Set the config object to use the specified environment variable to load the value for the salt generator class name.
    `void` | `setSaltGeneratorClassNameSysPropertyName(String saltGeneratorClassNameSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the salt generator class name.
    `void` | `setSaltSizeBytes(Integer saltSizeBytes)` Size in bytes of the salt to be used.
    `void` | `setSaltSizeBytes(String saltSizeBytes)` Size in bytes of the salt to be used.
    `void` | `setSaltSizeBytesEnvName(String saltSizeBytesEnvName)` Set the config object to use the specified environment variable to load the value for the salt size in bytes.
    `void` | `setSaltSizeBytesSysPropertyName(String saltSizeBytesSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the salt size in bytes.
    `void` | `setUseLenientSaltSizeCheck(Boolean useLenientSaltSizeCheck)` Whether digest matching operations will allow matching digests with a salt size different to the one configured in the "saltSizeBytes" property.
    `void` | `setUseLenientSaltSizeCheckEnvName(String useLenientSaltSizeCheckEnvName)` Set the config object to use the specified environment variable to load the value for the useLenientSaltSizeCheck property.
    `void` | `setUseLenientSaltSizeCheckSysPropertyName(String useLenientSaltSizeCheckSysPropertyName)` Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.

    - ### Methods inherited from class org.jasypt.digest.config.SimpleDigesterConfig

      `getAlgorithm, getInvertPositionOfPlainSaltInEncryptionResults, getInvertPositionOfSaltInMessageBeforeDigesting, getIterations, getPoolSize, getProvider, getProviderName, getSaltGenerator, getSaltSizeBytes, getUseLenientSaltSizeCheck`

    - ### Methods inherited from class Object

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

- - ### Constructor Detail

    - #### EnvironmentDigesterConfig

          public EnvironmentDigesterConfig()

      Creates a new `EnvironmentDigesterConfig` instance.

  - ### Method Detail

    - #### getAlgorithmEnvName

          public String getAlgorithmEnvName()

      Retrieve the name of the environment variable which value has been loaded as the algorithm.
      Returns:
        the name of the variable

    - #### setAlgorithmEnvName

          public void setAlgorithmEnvName(String algorithmEnvName)

      Set the config object to use the specified environment variable to load the value for the algorithm.
      Parameters:
        `algorithmEnvName` - the name of the environment variable

    - #### getAlgorithmSysPropertyName

          public String getAlgorithmSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the algorithm.
      Returns:
        the name of the property

    - #### setAlgorithmSysPropertyName

          public void setAlgorithmSysPropertyName(String algorithmSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the algorithm.
      Parameters:
        `algorithmSysPropertyName` - the name of the property

    - #### getIterationsEnvName

          public String getIterationsEnvName()

      Retrieve the name of the environment variable which value has been loaded as the iteration count.
      Returns:
        the name of the variable

    - #### setIterationsEnvName

          public void setIterationsEnvName(String iterationsEnvName)

      Set the config object to use the specified environment variable to load the value for the iteration count.
      Parameters:
        `iterationsEnvName` - the name of the environment variable

    - #### getIterationsSysPropertyName

          public String getIterationsSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the iteration count.
      Returns:
        the name of the property

    - #### setIterationsSysPropertyName

          public void setIterationsSysPropertyName(String iterationsSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the iteration count.
      Parameters:
        `iterationsSysPropertyName` - the name of the property

    - #### getSaltSizeBytesEnvName

          public String getSaltSizeBytesEnvName()

      Retrieve the name of the environment variable which value has been loaded as the salt size in bytes.
      Returns:
        the name of the variable

    - #### setSaltSizeBytesEnvName

          public void setSaltSizeBytesEnvName(String saltSizeBytesEnvName)

      Set the config object to use the specified environment variable to load the value for the salt size in bytes.
      Parameters:
        `saltSizeBytesEnvName` - the name of the environment variable

    - #### getSaltSizeBytesSysPropertyName

          public String getSaltSizeBytesSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the salt size in bytes.
      Returns:
        the name of the property

    - #### setSaltSizeBytesSysPropertyName

          public void setSaltSizeBytesSysPropertyName(String saltSizeBytesSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the salt size in bytes.
      Parameters:
        `saltSizeBytesSysPropertyName` - the name of the property

    - #### getSaltGeneratorClassNameEnvName

          public String getSaltGeneratorClassNameEnvName()

      Retrieve the name of the environment variable which value has been loaded as the salt generator class name.
      Returns:
        the name of the variable
      Since:
        1.3

    - #### setSaltGeneratorClassNameEnvName

          public void setSaltGeneratorClassNameEnvName(String saltGeneratorClassNameEnvName)

      Set the config object to use the specified environment variable to load the value for the salt generator class name.

      The salt generator class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the digester.

      Parameters:
        `saltGeneratorClassNameEnvName` - the name of the environment variable
      Since:
        1.3

    - #### getSaltGeneratorClassNameSysPropertyName

          public String getSaltGeneratorClassNameSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the salt generator class name.
      Returns:
        the name of the property
      Since:
        1.3

    - #### setSaltGeneratorClassNameSysPropertyName

          public void setSaltGeneratorClassNameSysPropertyName(String saltGeneratorClassNameSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the salt generator class name.

      The salt generator class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the digester.

      Parameters:
        `saltGeneratorClassNameSysPropertyName` - the name of the property
      Since:
        1.3

    - #### getProviderNameEnvName

          public String getProviderNameEnvName()

      Retrieve the name of the environment variable which value has been loaded as the provider name.
      Returns:
        the name of the variable
      Since:
        1.3

    - #### setProviderNameEnvName

          public void setProviderNameEnvName(String providerNameEnvName)

      Set the config object to use the specified environment variable to load the value for the provider name.

      Parameters:
        `providerNameEnvName` - the name of the environment variable
      Since:
        1.3

    - #### getProviderNameSysPropertyName

          public String getProviderNameSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the provider name.
      Returns:
        the name of the property
      Since:
        1.3

    - #### setProviderNameSysPropertyName

          public void setProviderNameSysPropertyName(String providerNameSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the provider name.
      Parameters:
        `providerNameSysPropertyName` - the name of the property
      Since:
        1.3

    - #### getProviderClassNameEnvName

          public String getProviderClassNameEnvName()

      Retrieve the name of the environment variable which value has been loaded as the provider class name.
      Returns:
        the name of the variable
      Since:
        1.3

    - #### setProviderClassNameEnvName

          public void setProviderClassNameEnvName(String providerClassNameEnvName)

      Set the config object to use the specified environment variable to load the value for the provider class name.

      The provider class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the digester.

      Parameters:
        `providerClassNameEnvName` - the name of the environment variable
      Since:
        1.3

    - #### getProviderClassNameSysPropertyName

          public String getProviderClassNameSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the provider class name.
      Returns:
        the name of the property
      Since:
        1.3

    - #### setProviderClassNameSysPropertyName

          public void setProviderClassNameSysPropertyName(String providerClassNameSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the provider class name.

      The provider class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the digester.

      Parameters:
        `providerClassNameSysPropertyName` - the name of the property
      Since:
        1.3

    - #### getInvertPositionOfSaltInMessageBeforeDigestingEnvName

          public String getInvertPositionOfSaltInMessageBeforeDigestingEnvName()

      Retrieve the name of the environment variable which value has been loaded as the value for the invertPositionOfSaltInMessageBeforeDigesting property.
      Returns:
        the name of the variable
      Since:
        1.7

    - #### setInvertPositionOfSaltInMessageBeforeDigestingEnvName

          public void setInvertPositionOfSaltInMessageBeforeDigestingEnvName(String invertPositionOfSaltInMessageBeforeDigestingEnvName)

      Set the config object to use the specified environment variable to load the value for the invertPositionOfSaltInMessageBeforeDigesting property.

      Parameters:
        `invertPositionOfSaltInMessageBeforeDigestingEnvName` - the name of the environment variable
      Since:
        1.7

    - #### getInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName

          public String getInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the value for the invertPositionOfSaltInMessageBeforeDigesting property.
      Returns:
        the name of the property
      Since:
        1.7

    - #### setInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName

          public void setInvertPositionOfSaltInMessageBeforeDigestingSysPropertyName(String invertPositionOfSaltInMessageBeforeDigestingSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the invertPositionOfSaltInMessageBeforeDigesting property.

      Parameters:
        `invertPositionOfSaltInMessageBeforeDigestingSysPropertyName` - the name of the property
      Since:
        1.7

    - #### getInvertPositionOfPlainSaltInEncryptionResultsEnvName

          public String getInvertPositionOfPlainSaltInEncryptionResultsEnvName()

      Retrieve the name of the environment variable which value has been loaded as the value for the invertPositionOfPlainSaltInEncryptionResults property.
      Returns:
        the name of the variable
      Since:
        1.7

    - #### setInvertPositionOfPlainSaltInEncryptionResultsEnvName

          public void setInvertPositionOfPlainSaltInEncryptionResultsEnvName(String invertPositionOfPlainSaltInEncryptionResultsEnvName)

      Set the config object to use the specified environment variable to load the value for the invertPositionOfPlainSaltInEncryptionResults property.

      Parameters:
        `invertPositionOfPlainSaltInEncryptionResultsEnvName` - the name of the environment variable
      Since:
        1.7

    - #### getInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName

          public String getInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the value for the invertPositionOfPlainSaltInEncryptionResults property.
      Returns:
        the name of the property
      Since:
        1.7

    - #### setInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName

          public void setInvertPositionOfPlainSaltInEncryptionResultsSysPropertyName(String invertPositionOfPlainSaltInEncryptionResultsSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the invertPositionOfPlainSaltInEncryptionResults property.

      Parameters:
        `invertPositionOfPlainSaltInEncryptionResultsSysPropertyName` - the name of the property
      Since:
        1.7

    - #### getUseLenientSaltSizeCheckEnvName

          public String getUseLenientSaltSizeCheckEnvName()

      Retrieve the name of the environment variable which value has been loaded as the value for the useLenientSaltSizeCheck property.
      Returns:
        the name of the variable
      Since:
        1.7

    - #### setUseLenientSaltSizeCheckEnvName

          public void setUseLenientSaltSizeCheckEnvName(String useLenientSaltSizeCheckEnvName)

      Set the config object to use the specified environment variable to load the value for the useLenientSaltSizeCheck property.

      Parameters:
        `useLenientSaltSizeCheckEnvName` - the name of the environment variable
      Since:
        1.7

    - #### getUseLenientSaltSizeCheckSysPropertyName

          public String getUseLenientSaltSizeCheckSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the value for the useLenientSaltSizeCheck property.
      Returns:
        the name of the property
      Since:
        1.7

    - #### setUseLenientSaltSizeCheckSysPropertyName

          public void setUseLenientSaltSizeCheckSysPropertyName(String useLenientSaltSizeCheckSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.

      Parameters:
        `useLenientSaltSizeCheckSysPropertyName` - the name of the property
      Since:
        1.7

    - #### getPoolSizeEnvName

          public String getPoolSizeEnvName()

      Retrieve the name of the environment variable which value has been loaded as the value for the poolSize property.
      Returns:
        the name of the variable
      Since:
        1.7

    - #### setPoolSizeEnvName

          public void setPoolSizeEnvName(String poolSizeEnvName)

      Set the config object to use the specified environment variable to load the value for the poolSize property.

      Parameters:
        `poolSizeEnvName` - the name of the environment variable
      Since:
        1.7

    - #### getPoolSizeSysPropertyName

          public String getPoolSizeSysPropertyName()

      Retrieve the name of the JVM system property which value has been loaded as the value for the poolSize property.
      Returns:
        the name of the property
      Since:
        1.7

    - #### setPoolSizeSysPropertyName

          public void setPoolSizeSysPropertyName(String poolSizeSysPropertyName)

      Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.

      Parameters:
        `poolSizeSysPropertyName` - the name of the property
      Since:
        1.7

    - #### setAlgorithm

          public void setAlgorithm(String algorithm)

      Description copied from class: `SimpleDigesterConfig`

      Sets the name of the algorithm.

      This algorithm has to be supported by your security infrastructure, and it should be allowed as an algorithm for creating java.security.MessageDigest instances.

      If you are specifying a security provider with `SimpleDigesterConfig.setProvider(Provider)` or `SimpleDigesterConfig.setProviderName(String)`, this algorithm should be supported by your specified provider.

      If you are not specifying a provider, you will be able to use those algorithms provided by the default security provider of your JVM vendor. For valid names in the Sun JVM, see Java Cryptography Architecture API Specification & Reference.

      Determines the result of: `SimpleDigesterConfig.getAlgorithm()`

      Overrides:
        `setAlgorithm` in class `SimpleDigesterConfig`
      Parameters:
        `algorithm` - the name of the algorithm.

    - #### setIterations

          public void setIterations(Integer iterations)

      Description copied from class: `SimpleDigesterConfig`

      Sets the number of hashing iterations.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getIterations()`

      Overrides:
        `setIterations` in class `SimpleDigesterConfig`
      Parameters:
        `iterations` - the number of iterations.

    - #### setIterations

          public void setIterations(String iterations)

      Description copied from class: `SimpleDigesterConfig`

      Sets the number of hashing iterations.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getIterations()`

      Overrides:
        `setIterations` in class `SimpleDigesterConfig`
      Parameters:
        `iterations` - the number of iterations.

    - #### setSaltSizeBytes

          public void setSaltSizeBytes(Integer saltSizeBytes)

      Description copied from class: `SimpleDigesterConfig`

      Size in bytes of the salt to be used.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getSaltSizeBytes()`

      Overrides:
        `setSaltSizeBytes` in class `SimpleDigesterConfig`
      Parameters:
        `saltSizeBytes` - the size of the salt, in bytes.

    - #### setSaltSizeBytes

          public void setSaltSizeBytes(String saltSizeBytes)

      Description copied from class: `SimpleDigesterConfig`

      Size in bytes of the salt to be used.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getSaltSizeBytes()`

      Overrides:
        `setSaltSizeBytes` in class `SimpleDigesterConfig`
      Parameters:
        `saltSizeBytes` - the size of the salt, in bytes.

    - #### setSaltGenerator

          public void setSaltGenerator(SaltGenerator saltGenerator)

      Description copied from class: `SimpleDigesterConfig`

      Sets the salt generator.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getSaltGenerator()`

      Overrides:
        `setSaltGenerator` in class `SimpleDigesterConfig`
      Parameters:
        `saltGenerator` - the salt generator.

    - #### setSaltGeneratorClassName

          public void setSaltGeneratorClassName(String saltGeneratorClassName)

      Description copied from class: `SimpleDigesterConfig`

      Sets the class name of the salt generator.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getSaltGenerator()`

      Overrides:
        `setSaltGeneratorClassName` in class `SimpleDigesterConfig`
      Parameters:
        `saltGeneratorClassName` - the name of the salt generator class.

    - #### setProviderName

          public void setProviderName(String providerName)

      Description copied from class: `SimpleDigesterConfig`

      Sets the name of the security provider to be asked for the digest algorithm. This provider should be already registered.

      If both the `providerName` and `provider` properties are set, only `provider` will be used, and `providerName` will have no meaning for the digester object.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getProviderName()`

      Overrides:
        `setProviderName` in class `SimpleDigesterConfig`
      Parameters:
        `providerName` - the name of the security provider.

    - #### setProvider

          public void setProvider(Provider provider)

      Description copied from class: `SimpleDigesterConfig`

      Sets the security provider to be used for obtaining the digest algorithm. This method is an alternative to both `SimpleDigesterConfig.setProviderName(String)` and `SimpleDigesterConfig.setProviderClassName(String)` and they should not be used altogether. The provider specified with `SimpleDigesterConfig.setProvider(Provider)` does not have to be registered beforehand, and its use will not result in its being registered.

      If both the `providerName` and `provider` properties are set, only `provider` will be used, and `providerName` will have no meaning for the digester object.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getProvider()`

      Overrides:
        `setProvider` in class `SimpleDigesterConfig`
      Parameters:
        `provider` - the security provider object.

    - #### setProviderClassName

          public void setProviderClassName(String providerClassName)

      Description copied from class: `SimpleDigesterConfig`

      Sets the class name for the security provider to be used for obtaining the digest algorithm. This method is an alternative to both `SimpleDigesterConfig.setProviderName(String)` `SimpleDigesterConfig.setProvider(Provider)` and they should not be used altogether. The provider specified with `SimpleDigesterConfig.setProviderClassName(String)` does not have to be registered beforehand, and its use will not result in its being registered.

      If both the `providerName` and `provider` properties are set, only `provider` will be used, and `providerName` will have no meaning for the digester object.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getProvider()`

      Overrides:
        `setProviderClassName` in class `SimpleDigesterConfig`
      Parameters:
        `providerClassName` - the name of the security provider class.

    - #### setInvertPositionOfPlainSaltInEncryptionResults

          public void setInvertPositionOfPlainSaltInEncryptionResults(Boolean invertPositionOfPlainSaltInEncryptionResults)

      Description copied from class: `SimpleDigesterConfig`

      Whether the plain (not hashed) salt bytes are to be appended after the digest operation result bytes. The default behaviour is to insert them before the digest result, but setting this configuration item to `true` allows compatibility with some external systems and specifications (e.g. LDAP {SSHA}).

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getInvertPositionOfPlainSaltInEncryptionResults()`

      Overrides:
        `setInvertPositionOfPlainSaltInEncryptionResults` in class `SimpleDigesterConfig`
      Parameters:
        `invertPositionOfPlainSaltInEncryptionResults` - whether plain salt will be appended after the digest operation result instead of inserted before it (which is the default).

    - #### setInvertPositionOfSaltInMessageBeforeDigesting

          public void setInvertPositionOfSaltInMessageBeforeDigesting(Boolean invertPositionOfSaltInMessageBeforeDigesting)

      Description copied from class: `SimpleDigesterConfig`

      Whether the salt bytes are to be appended after the message ones before performing the digest operation on the whole. The default behaviour is to insert those bytes before the message bytes, but setting this configuration item to `true` allows compatibility with some external systems and specifications (e.g. LDAP {SSHA}).

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getInvertPositionOfSaltInMessageBeforeDigesting()`

      Overrides:
        `setInvertPositionOfSaltInMessageBeforeDigesting` in class `SimpleDigesterConfig`
      Parameters:
        `invertPositionOfSaltInMessageBeforeDigesting` - whether salt will be appended after the message before applying the digest operation on the whole, instead of inserted before it (which is the default).

    - #### setUseLenientSaltSizeCheck

          public void setUseLenientSaltSizeCheck(Boolean useLenientSaltSizeCheck)

      Description copied from class: `SimpleDigesterConfig`

      Whether digest matching operations will allow matching digests with a salt size different to the one configured in the "saltSizeBytes" property. This is possible because digest algorithms will produce a fixed-size result, so the remaining bytes from the hashed input will be considered salt.

      This will allow the digester to match digests produced in environments which do not establish a fixed salt size as standard (for example, SSHA password encryption in LDAP systems).

      The value of this property will not affect the creation of digests, which will always have a salt of the size established by the "saltSizeBytes" property. It will only affect digest matching.

      Setting this property to `true` is not compatible with `SaltGenerator` implementations which return false for their `SaltGenerator.includePlainSaltInEncryptionResults()` property.

      Also, be aware that some algorithms or algorithm providers might not support knowing the size of the digests beforehand, which is also incompatible with a lenient behaviour.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getUseLenientSaltSizeCheck()`

      Overrides:
        `setUseLenientSaltSizeCheck` in class `SimpleDigesterConfig`
      Parameters:
        `useLenientSaltSizeCheck` - whether the digester will allow matching of digests with different salt sizes than established or not (default is false).

    - #### setPoolSize

          public void setPoolSize(Integer poolSize)

      Description copied from class: `SimpleDigesterConfig`

      Sets the size of the pool of digesters to be created.

      This parameter will be ignored if used with a non-pooled digester.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getPoolSize()`

      Overrides:
        `setPoolSize` in class `SimpleDigesterConfig`
      Parameters:
        `poolSize` - the size of the pool to be used if this configuration is used with a pooled digester

    - #### setPoolSize

          public void setPoolSize(String poolSize)

      Description copied from class: `SimpleDigesterConfig`

      Sets the size of the pool of digesters to be created.

      This parameter will be ignored if used with a non-pooled digester.

      If not set, null will be returned.

      Determines the result of: `SimpleDigesterConfig.getPoolSize()`

      Overrides:
        `setPoolSize` in class `SimpleDigesterConfig`
      Parameters:
        `poolSize` - the size of the pool to be used if this configuration is used with a pooled digester

Copyright © 2019 The JASYPT team. All rights reserved.