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("Конзолата не е налична");
}