Encoded Entries

Encoded entries allow for sensitive information such as passwords to be obfuscated.

Encoded entries are denoted with a '*' character at the end of the key name.

For example, the following password is marked for encoding:

[MyHost] url = http://localhost:9080/foo user = me password* = {AwwJVhwUQFZEMg==}

The default encoder is {@link oaj.config.encode.ConfigXorEncoder} which is a simple XOR+Base64 encoder.

Custom encoders can be used to provide your own encoding support by implementing the {@link oaj.config.encode.ConfigEncoder} interface.

- {@link oaj.config.encode.ConfigEncoder}
  - {@link oaj.config.encode.ConfigEncoder#encode(String,String) encode(String,String)}
  - {@link oaj.config.encode.ConfigEncoder#decode(String,String) decode(String,String)}
  - {@link oaj.config.encode.ConfigEncoder#isEncoded(String) isEncoded(String)}

Encoders are controlled via the following setting:

- {@link oaj.config.Config#CONFIG_encoder}

Encoded values can be set to plain-text values.
The curly brackets around the value identify whether the value has been encoded or not.

Unencoded values are encoded when the file is saved using the {@link oaj.config.Config#commit()} method.
They can also be encoded immediately by calling {@link oaj.config.Config#encodeEntries()}.