Próbuję ukryć hasło w Javie. Sun Java zaproponował sposób maskowania hasła w następujący sposób.Jak zamaskować hasło w Java 5?
Wykorzystuje ona prosty sposób aby to zrobić.
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 korzysta z klawiszy strzałek i klawiszy usuwania, hasło zostaje ujawnione.
Jeśli użytkownik przypadkowo naciśnie 2 klawisze w tym samym czasie (bardzo duża prędkość pisania) niektóre znaki nie zostaną zamaskowane.
Czy myślicie w jaki sposób można uzyskać 100% poprawne maskowanie?
Konsola jest dostępna forma Java 6. Nasza wersja 1.5 :( –