Sobes.tech
Junior — Middle
113

¿Cómo almacenar y recuperar de manera segura la información de la contraseña después de ingresarla?

Respuesta de la IA

sobes.tech AI

Para el almacenamiento seguro y la recuperación de la contraseña después de ingresarla en Java, se recomienda:

  • Utilizar la clase char[] en lugar de String para almacenar la contraseña en la memoria, ya que las cadenas son inmutables y permanecen en la memoria por más tiempo.
  • Después de usarla, limpiar el array de la contraseña, por ejemplo, llenándola con ceros.
  • Nunca almacenar la contraseña en texto abierto en la memoria o en registros.
  • Para almacenar contraseñas en la base de datos, usar hashing con sal (por ejemplo, BCrypt, PBKDF2).

Ejemplo de cómo obtener la contraseña de forma segura desde la consola:

import java.io.Console;

Console console = System.console();
if (console != null) {
    char[] password = console.readPassword("Ingrese la contraseña: ");
    // Utilice la contraseña

    // Limpiar el array después de usarlo
    java.util.Arrays.fill(password, ' ');
} else {
    System.out.println("Consola no disponible");
}