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

Как скрыть пароль в классе

В Java можно скрыть пароль, используя char[] вместо String, так как String хранится в пуле строк и может оставаться в памяти дольше, а char[] можно явно очистить после использования.

java
public class PasswordHolder {
    private char[] password;

    public void setPassword(char[] password) {
        this.password = password;
    }
text
public char[] getPassword() {
    return password;
}

public void clearPassword() {
    if (password != null) {
        Arrays.fill(password, '\0');
    }
}

}

text

Использование:
```java
PasswordHolder holder = new PasswordHolder();
char[] password = {'s', 'e', 'c', 'r', 'e', 't'};
holder.setPassword(password);
// После использования очищаем
holder.clearPassword();

Почему не String?
String immutable, и сборщик мусора может не сразу очистить его из памяти, что повышает риск утечки данных. char[] можно перезаписать нулями.

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

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

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

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