如何在Java5中屏蔽密码?
我试图用Java屏蔽密码。Sun java提出了一种屏蔽密码的方法,如下所示 它使用一种简单的方法来实现这一点如何在Java5中屏蔽密码?,java,passwords,masking,Java,Passwords,Masking,我试图用Java屏蔽密码。Sun java提出了一种屏蔽密码的方法,如下所示 它使用一种简单的方法来实现这一点 public void run () { stop = true; while (stop) { System.out.print("\010*"); try { Thread.currentThread().sleep(1); } catch(InterruptedException ie) { ie.printStackTra
public void run () {
stop = true;
while (stop) {
System.out.print("\010*");
try {
Thread.currentThread().sleep(1);
} catch(InterruptedException ie) {
ie.printStackTrace();
}
}
}
但这种方法有几个缺点
- 在unix上,我使用的是termios结构和tcgetattr/tcsetattr
- 在windows上,我正在使用和
如果您需要代码示例,请留下注释。对于JDK 6.0,您有类的java源代码,包括Console:I刚刚验证过,这个类只有java 5.0依赖项
因此,在您的项目中,您可以创建这个控制台类的副本,然后使用readPassword方法。我没有尝试,但它应该可以工作。控制台可从Java 6获得。我们的1.5版:(它根本不支持掩蔽。不完全正确。echo()方法是本机方法。java.io.Console仅在java 6中可用。他的问题表明他正在使用java 5。
Console c = System.console();
if (c == null) {
System.err.println("No console.");
System.exit(1);
}
char [] password = c.readPassword("Enter your password: ");