Java 字符串到星号,屏蔽密码
我正在为ATM机创建这个简单的登录代码。 您输入用户名和密码,然后登录,效果非常好。因为我没有连接到数据库或外部文本文件,而且我只有一个用户,所以它只是简单地用Java代码编写的。但是,当您输入密码“p4S”时,我希望它被屏蔽,因此在键入时,您应该看到“***”或“空白”(就像在Linux上输入pass一样) 当前我的代码如下所示:Java 字符串到星号,屏蔽密码,java,string,password-protection,masking,Java,String,Password Protection,Masking,我正在为ATM机创建这个简单的登录代码。 您输入用户名和密码,然后登录,效果非常好。因为我没有连接到数据库或外部文本文件,而且我只有一个用户,所以它只是简单地用Java代码编写的。但是,当您输入密码“p4S”时,我希望它被屏蔽,因此在键入时,您应该看到“***”或“空白”(就像在Linux上输入pass一样) 当前我的代码如下所示: String user; String pass; System.out.print("User: ");
String user;
String pass;
System.out.print("User: ");
user = Keyboard.readString();
System.out.print("Pass: ");
pass = Keyboard.readString();
if ((user.equals("Admin")) && (pass.equals("p4ss")))
{
menu();
}
else
{
out.println("Wrong username or password.");
}
如果能得到任何帮助,我将不胜感激。迈克尔,请查看Sun网站上的描述: 或者,如果您使用的是Java 5或更高版本,您可以使用:
在Java 6中引入了一种特殊的方法
Console.readPassword()
。不过,你显然不能在真正的ATM机上运行这样的代码!Swing具有JPasswordField
,它允许您在GUI中执行这种屏蔽,您可以想象一个基于Swing的ATM窗口。我假设这是一个模拟ATM
Dev指出,控制台上的密码屏蔽是现成支持的,因此您可以使用它。然而,除了最琐碎的IO之外,最好使用Swing或“类似诅咒”的库: