/** * It encodes/obfuscates a password and adds a human readable prefix that clarifies it. * * @param passwordInPlainText * @return a String containing the encoded password */ public static String encodePasswordWithPrefix(final String passwordInPlainText) { if (hasPrefix(passwordInPlainText)) { return passwordInPlainText; } return PREFIX + encodePassword(passwordInPlainText); }
/** * It decodes/deobfuscates an encoded password with a human readable prefix. * * @param encodedPasswordWithPrefix * @return a String containing the decoded password */ public static String decodePasswordWithPrefix(final String encodedPasswordWithPrefix) { if (encodedPasswordWithPrefix == null) { return null; } if (hasPrefix(encodedPasswordWithPrefix)) { return decodePassword(encodedPasswordWithPrefix.substring(PREFIX.length())); } else { return encodedPasswordWithPrefix; } }
private String getPasswordVariable(final String key, final String valueIfNull) { final String possiblyEncodedPassword = getStringVariable(key, valueIfNull); if (possiblyEncodedPassword == null) { return null; } if (SecurityUtils.hasPrefix(possiblyEncodedPassword)) { return SecurityUtils.decodePasswordWithPrefix(possiblyEncodedPassword); } return possiblyEncodedPassword; }