如何在 Java 5 中屏蔽密码?
我正在尝试在 Java 中屏蔽密码.Sun java 提出了一种屏蔽密码的方法,如下所示.
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("10*");
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.
如果用户不小心同时按下了 2 个键(打字速度极快),某些字符不会被屏蔽.
If the user accidentally press 2 keys at the same time (Extremely high typing speed) some characters does not get masked.
你们有什么方法可以得到 100% 正确的遮罩吗?
Do you guys think of any way that can get a 100% correct masking?
推荐答案
使用Console.readPassword().
相关文章