org.jasypt.digest.config

## Interface StringDigesterConfig

- All Superinterfaces:
    DigesterConfig
  All Known Implementing Classes:
    EnvironmentStringDigesterConfig, SimpleStringDigesterConfig

      public interface StringDigesterConfig
      extends DigesterConfig

  Common interface for config classes applicable to `StandardStringDigester` objects. This interface extends `DigesterConfig` to add config parameters specific to String digesting.

  This interface lets the user create new `StringDigesterConfig` classes which retrieve values for this parameters from different (and maybe more secure) sources (remote servers, LDAP, other databases...), and do this transparently for the digester object.

  The config objects passed to a digester will only be queried once for each configuration parameter, and this will happen during the initialization of the digester object.

  For a default implementation, see `SimpleStringDigesterConfig`.

  Since:
    1.3
  Author:
    Daniel Fernández

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getPrefix()` Adds the returned (plain) prefix at the beginning of generated digests, and also expects to find it in any plain message provided for matching operations (raising an `EncryptionOperationNotPossibleException` if not).
    `String` | `getStringOutputType()` This parameter lets the user specify the form in which String output will be encoded.
    `String` | `getSuffix()` Adds the returned (plain) suffix at the end of generated digests, and also expects to find it in any plain message provided for matching operations (raising an `EncryptionOperationNotPossibleException` if not).
    `Boolean` | `isUnicodeNormalizationIgnored()` This parameter lets the user specify if the Unicode text normalization step performed during String digest and matching should be ignored.

    - ### Methods inherited from interface org.jasypt.digest.config.DigesterConfig

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

- - ### Method Detail

    - #### isUnicodeNormalizationIgnored

          Boolean isUnicodeNormalizationIgnored()

      This parameter lets the user specify if the Unicode text normalization step performed during String digest and matching should be ignored.

      The Java Virtual Machine internally handles all Strings as UNICODE. When digesting or matching digests in jasypt, these Strings are first normalized to its NFC form so that digest matching is not affected by the specific form in which the messages where input.

      It is normally safe (and recommended) to leave this parameter set to its default FALSE value (and thus DO perform normalization operations). But in some specific cases in which issues with legacy software could arise, it might be useful to set this to TRUE.

      For more information on unicode text normalization, see this issue of Core Java Technologies Tech Tips.

      Returns:
        whether the unicode text normalization step should be ignored or not.

    - #### getStringOutputType

          String getStringOutputType()

      This parameter lets the user specify the form in which String output will be encoded. Available encoding types are:

      - `base64` (default)
      - `hexadecimal`
      Returns:
        The name of the encoding type for String output

    - #### getPrefix

          String getPrefix()

      Adds the returned (plain) prefix at the beginning of generated digests, and also expects to find it in any plain message provided for matching operations (raising an `EncryptionOperationNotPossibleException` if not).

      Returns:
        the prefix to be added to all digests
      Since:
        1.7

    - #### getSuffix

          String getSuffix()

      Adds the returned (plain) suffix at the end of generated digests, and also expects to find it in any plain message provided for matching operations (raising an `EncryptionOperationNotPossibleException` if not).

      Returns:
        the suffix to be added to all digests
      Since:
        1.7

Copyright © 2019 The JASYPT team. All rights reserved.