Sobes.tech
Junior — Middle

Как безопасно да съхранявате и получавате информация за паролата след въвеждането й?

sobes.tech AI

Отговор от AI

За безопасно съхранение и получаване на парола след въвеждането й в Java се препоръчва:

  • Да се използва класът char[] вместо String за съхранение на паролата в паметта, тъй като низовете са неизменяеми и остават по-дълго в паметта.
  • След използване, да се почисти масивът с паролата, например, като се запълни с нули.
  • Никога да не се съхранява паролата в открит текст в паметта или логовете.
  • За съхранение на пароли в базата данни, да се използва хеширане със сол (например, BCrypt, PBKDF2).

Пример за безопасно получаване на парола от конзолата:

import java.io.Console;

Console console = System.console();
if (console != null) {
    char[] password = console.readPassword("Въведете парола: ");
    // Използвайте паролата

    // Изчистване на масива след използване
    java.util.Arrays.fill(password, ' ');
} else {
    System.out.println("Конзолата не е налична");
}