Junior — Middle
Ako bezpečne uložiť a získať informácie o hesle po jeho zadaní?
sobes.tech AI
Odpoveď od AI
Pre bezpečného uloženia a načítania hesla po jeho vstupe v Jave sa odporúča:
- Používať triedu
char[]namiestoStringna uloženie hesla v pamäti, pretože reťazce sú nemenné a zostávajú v pamäti dlhšie. - Po použití vyčistiť pole hesla, napríklad ho naplniť nulami.
- Nikdy neukladať heslo v otvorenom texte v pamäti alebo v logoch.
- Na uloženie hesiel v databáze použiť hashovanie s pridaním soli (napríklad BCrypt, PBKDF2).
Príklad bezpečného načítania hesla z konzoly:
import java.io.Console;
Console console = System.console();
if (console != null) {
char[] password = console.readPassword("Zadajte heslo: ");
// Použite heslo
// Vyčistite pole po použití
java.util.Arrays.fill(password, ' ');
} else {
System.out.println("Konzola nie je dostupná");
}