Pet*_*r F 0 java arrays passwords char username
我正在开发一个项目,并一直试图篡改用户名/密码.您可以在下面看到代码.每当我点击登录按钮时,用户名变为bobsyouruncle,向我表明它在方法中找到了"true"值.问题在于,无论输入如何,它总是如此.这更令人困惑,因为如果我将下面的"return true"更改为"return false",那么我仍然会得到bobsyouruncle.有什么建议?
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
Boolean authenticated = AuthenticateCredentials(usernameField.getText(),passwordField.getPassword());
if(authenticated = true){
usernameField.setText("Bobsyouruncle");
} else {
System.exit(0);
}
}
});
Run Code Online (Sandbox Code Playgroud)
以下是访问的方法.
private Boolean AuthenticateCredentials(String user, char[] pass) {
//This is only a placeholder.
String theCorrectAnswer = "42";
String theCorrectUser = "FPrefect";
char[] passcode = theCorrectAnswer.toCharArray();
optionPanel.showInternalMessageDialog(securityPanel,"Eggs are not supposed to be green.");
if (user.equals(theCorrectUser) && Arrays.equals(passcode,pass)) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人想告诉我,我已经搞砸了创建一个安全的用户名和密码来节省我的麻烦,那也是花花公子.
rge*_*man 10
您正在分配=,但此处需要的比较运算符是==.但是,authenticated已经是一个boolean,所以只需使用:
if(authenticated){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |