11. Почему строки не рекомендуется использовать для хранения паролей?

11. Почему строки не рекомендуется использовать для хранения паролей?

Unknown

String (in pool before garbage) -> char []

С момента создания строка остается в пуле, до тех пор пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует.

Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.


Предыдущий вопрос: 10. Почему не рекомендуется изменять строки в цикле? Что рекомендуется?

Следующий вопрос: 12. Почему String неизменяемый и финализированный класс?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне


Report Page