Если у меня есть класс SecureString
с методом .getPassCharArrays(byte[] bytes)
, который возвращает char[]
. Если он используется в методе, который принимает тип String
, уязвим ли он для проверки кучи?
Допустим, у меня есть этот метод для создания пользователя
createUser(User user, String pass) {
...
}
Скажем, я вызываю этот метод и передайте пароль:
createUser(user, String.valueOf(SecureString.getPassCharArrays(passBytes)));
Будет ли это восприимчиво к проверке кучи? Я знаю, что если я сохраню его в переменной, он будет создан, поскольку он создает строку в пуле строк в куче, а переменная указывает на местоположение этого пула строк.
// A no-no
String pass = String valueOf(secureString.getPass(pass));
Пожалуйста, поделитесь своими мыслями и любыми ссылками. Спасибо.