Estoy tratando de enmascarar una contraseña en Java. Sun Java ha sugerido una forma de enmascarar una contraseña de la siguiente manera.¿Cómo enmascarar una contraseña en Java 5?
Se utiliza una forma sencilla de hacer eso.
public void run() {
stop = true;
while (stop) {
System.out.print("\010*");
try {
Thread.currentThread().sleep(1);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
}
Pero este enfoque tiene varios inconvenientes.
Si el usuario utiliza las teclas de flecha + eliminar teclas se revela la contraseña.
Si el usuario presiona accidentalmente 2 teclas al mismo tiempo (velocidad de tipeo extremadamente alta), algunos caracteres no se enmascaran.
¿Ustedes piensan en alguna forma que pueda obtener un enmascaramiento correcto al 100%?
La consola está disponible en Java 6. Nuestra versión 1.5 :( –