Я использую JAXB для чтения какого-то файла паролей.
<password expiry-date="some date">PASSWORD</password>
Требуется никогда не сохранять значение пароля в памяти в виде простого текста.
Я написал адаптер класс, чтобы демаршалировать значение пароля как массив символов.
public class PasswordAdapter extends XmlAdapter<String, char[]> {
@Override
public String marshal(char[] v) {
return new String(v);
}
@Override
public char[] unmarshal(String v) {
return v.toCharArray();
}
}
Это поле, которое неупорядочено:
@XmlValue
@XmlJavaTypeAdapter(PasswordAdapter.class)
private char[] password;
Проблема с этим решением заключается в том, что пароль по-прежнему читается как строка перед сохранением в виде массива в этом случае.
Мой вопрос:
Есть ли способ прочитать значение элемента пароля непосредственно как массив или просто что-то, что не является простой текстовой строкой?