- Так как String неизменяемый класс (immutable), то его невозможно очистить, и следовательно пароль будет находиться в памяти JVM до тех пор, пока String с паролем не будет очищен GC. Положение усугубляется тем, что для объектов типа String в JVM существует специальный pool (см. String.intern()), и если пароль попал в этот pool, то его хранение может пережить не один GC.
- Если объект с паролем случайно попадет в лог, то в случае использования String в логе мы увидим сам пароль, а при использовании char[] будет что-то типа этого: [C@110b053
среда, 11 июля 2012 г.
Почему для хранения паролей в java-коде лучше использовать char[], а не String.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий