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 deStringpara 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");
}