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.

Maskowanie hasła

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?

questionAnswers(4)

yourAnswerToTheQuestion