Встречается на собеседованиях • сегодня

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

Строки (String) в Java неизменяемы и хранятся в пуле строк, что делает их уязвимыми для утечек в памяти (например, через дампы памяти). Даже после использования строки остаются в памяти до сборки мусора.

Лучше использовать char[]:

  1. Можно перезаписать массив (заполнить нулями) сразу после использования, минимизируя время хранения пароля в памяти.
  2. Не попадает в пул строк.

Пример:

java
char[] password = "secret".toCharArray();
// Использование пароля...
Arrays.fill(password, '\0'); // Очистка

Для повышенной безопасности используйте специализированные классы, например javax.security.SecureString (если доступен) или механизмы хеширования (bcrypt, PBKDF2).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы