Sobes.tech
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[] namiesto String na 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á");
}