com.hazelcast.config.replacer

## Class EncryptionReplacer

- java.lang.Object
- - com.hazelcast.config.replacer.AbstractPbeReplacer
  - - com.hazelcast.config.replacer.EncryptionReplacer

- All Implemented Interfaces:
    ConfigReplacer

      public class EncryptionReplacer
      extends AbstractPbeReplacer

  This class is an example `ConfigReplacer` implementation which decrypts encrypted values.

  The `main(String...)` method is provided to generate the encrypted variables.

  This class extends `AbstractPbeReplacer` where the main encryption logic is located. This class implements `getPassword()` method and depending on configuration allows to use a password file and/or user properties (name and HOME) and/or network interface properties (MAC address).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PROPERTY_PASSWORD_FILE` Replacer property name to configure path to a password file which content should be used as part of the encryption password.
    `static String` | `PROPERTY_PASSWORD_NETWORK_INTERFACE` Replacer property name to configure network interface name used to retrieve MAC address used as part of the encryption password.
    `static String` | `PROPERTY_PASSWORD_USER_PROPERTIES` Replacer property name to configure `true`/`false` flag contolling if users properties should be used as part of the encryption password.

    - ### Fields inherited from class com.hazelcast.config.replacer.AbstractPbeReplacer

      `DEFAULT_CIPHER_ALGORITHM, DEFAULT_SECRET_KEY_FACTORY_ALGORITHM, PROPERTY_CIPHER_ALGORITHM, PROPERTY_KEY_LENGTH_BITS, PROPERTY_SALT_LENGTH_BYTES, PROPERTY_SECRET_KEY_ALGORITHM, PROPERTY_SECRET_KEY_FACTORY_ALGORITHM, PROPERTY_SECURITY_PROVIDER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EncryptionReplacer()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static String` | `encrypt(String... args)`
    `protected char[]` | `getPassword()` Provides password for a chosen SecretKeyFactory.
    `String` | `getPrefix()` Variable replacer prefix string.
    `void` | `init(Properties properties)` Initialization method called before first usage of the config replacer.
    `static void` | `main(String... args)`

    - ### Methods inherited from class com.hazelcast.config.replacer.AbstractPbeReplacer

      `decrypt, encrypt, getReplacement`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### PROPERTY_PASSWORD_USER_PROPERTIES

          public static final String PROPERTY_PASSWORD_USER_PROPERTIES

      Replacer property name to configure `true`/`false` flag contolling if users properties should be used as part of the encryption password.
      See Also:
        Constant Field Values

    - #### PROPERTY_PASSWORD_NETWORK_INTERFACE

          public static final String PROPERTY_PASSWORD_NETWORK_INTERFACE

      Replacer property name to configure network interface name used to retrieve MAC address used as part of the encryption password.
      See Also:
        Constant Field Values

    - #### PROPERTY_PASSWORD_FILE

          public static final String PROPERTY_PASSWORD_FILE

      Replacer property name to configure path to a password file which content should be used as part of the encryption password.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EncryptionReplacer

          public EncryptionReplacer()

  - ### Method Detail

    - #### init

          public void init(Properties properties)

      Description copied from interface: `ConfigReplacer`
      Initialization method called before first usage of the config replacer.
      Specified by:
        `init` in interface `ConfigReplacer`
      Overrides:
        `init` in class `AbstractPbeReplacer`
      Parameters:
        `properties` - properties configured (not `null`)

    - #### getPrefix

          public String getPrefix()

      Description copied from interface: `ConfigReplacer`
      Variable replacer prefix string. The value returned should be a constant unique short alphanumeric string without whitespaces.
      Returns:
        constant prefix of this replacer

    - #### getPassword

          protected char[] getPassword()

      Description copied from class: `AbstractPbeReplacer`
      Provides password for a chosen SecretKeyFactory.
      Specified by:
        `getPassword` in class `AbstractPbeReplacer`
      Returns:
        password must not be `null` or empty

    - #### main

          public static final void main(String... args)
                                 throws Exception

      Throws:
        `Exception`

    - #### encrypt

          protected static String encrypt(String... args)
                                   throws Exception

      Throws:
        `Exception`

Copyright © 2019. All rights reserved.