Subclass of java.util.Properties which can make use of a {@link org.jasypt.encryption.StringEncryptor} or {@link org.jasypt.util.text.TextEncryptor} object to decrypt property valuesif they are encrypted in the .properties file.
A value is considered "encrypted" when it appears surrounded by ENC(...), like:
my.value=ENC(!"DGAS24FaIO$) Decryption is performed on-the-fly when the {@link #getProperty(String)} or {@link #getProperty(String,String)} methods are called, and only these twomethods perform decryption (note that neither {@link #get(Object)} nor{@link #toString()} do). Load and store operations are not affected by decryption in any manner.
Encrypted and unencrypted objects can be combined in the same properties file.
Please note that, altough objects of this class are Serializable, they cannot be serialized and then de-serialized in different classloaders or virtual machines. This is so because encryptors are not serializable themselves (they cannot, as they contain sensitive information) and so they remain in memory, and live for as long as the classloader lives.
@since 1.4
@author Daniel Fernández