Jak zamaskować hasło w Javie 5?
Próbuję zamaskować hasło w Javie. Sun java zasugerował sposób zamaskowania hasła w następujący sposób.
Używa tego w prosty sposób.
public void run () {
stop = true;
while (stop) {
System.out.print("\010*");
try {
Thread.currentThread().sleep(1);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
}
Ale to podejście ma kilka wad.
Jeśli użytkownik używa klawiszy strzałek + usuń klucze, hasło zostanie ujawnione.
Jeśli użytkownik przypadkowo naciśnie 2 klawisze w tym samym czasie (bardzo duża szybkość pisania), niektóre znaki nie zostaną zamaskowane.
Czy myślicie o jakimkolwiek sposobie, aby uzyskać 100% poprawne maskowanie?