I am trying to mask a password in Java. Sun java has suggested a way to mask a password as follows.
It uses a simple way to do that.
public void run () {
stop = true;
while (stop) {
System.out.print("\010*");
try {
Thread.currentThread().sleep(1);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
}
But this approach has several drawbacks.
If the user uses the arrow keys + delete keys the password gets revealed.
If the user accidentally press 2 keys at the same time (Extremely high typing speed) some characters does not get masked.
Do you guys think of any way that can get a 100% correct masking?