我正在開發一個Java項目,構建一個簡單的系統,它有一些方法,其中之一是「更改密碼」,我將用戶信息(用戶名&密碼)放在一個文本文件稱爲(「Users.txt」)。 現在,這是該方法的描述:Java中的ChangePassword方法
布爾ChangePassWord():要求用戶爲 驗證輸入的舊密碼,用戶必須在最大三次嘗試進入正確的舊密碼 ;如果不是,則密碼將不會被更改,並且會向用戶顯示消息框 。如果用戶輸入正確的舊密碼,然後 他被認證,以更改他的密碼,並要求輸入新的密碼 和確認新的。一旦如果確認正確,舊的 密碼將更改爲新密碼,並且如果錯誤確認,舊密碼將不會更改並顯示 消息框,則會顯示一個消息框 。
我寫了這個代碼:
boolean changePassword(){
String pass=JOptionPane.showInputDialog(null, "Enter old password: ", "Input", JOptionPane.QUESTION_MESSAGE);
if(pass.equals(Password)) {
String newpass=JOptionPane.showInputDialog(null,
"Enter new password: ", "Input", JOptionPane.QUESTION_MESSAGE);
String connewpass=JOptionPane.showInputDialog(null,
"Enter confirming new password: ", "Input",
JOptionPane.QUESTION_MESSAGE);
if(newpass.equals(connewpass)){
Password= newpass;
JOptionPane.showMessageDialog(null, "password changed ", "message",
JOptionPane.INFORMATION_MESSAGE);
return true;
}
else
JOptionPane.showMessageDialog(null, "Wrong Conferm ", "message",
JOptionPane.INFORMATION_MESSAGE);
}
else
JOptionPane.showMessageDialog(null, "Wrong password ", "message",
JOptionPane.INFORMATION_MESSAGE);
return false;
}
,但我認爲這是錯誤的,我需要使用一個循環,我認爲。 我希望你能幫助我!
您認爲它有什麼不對?我們能幫你什麼嗎? – JustinKSU
我應該給用戶3次嘗試,如果密碼錯誤,所以我需要添加一個循環,但我將如何添加它? – Learner
我認爲這個邏輯很好。我只是避免存儲簡單的密碼。您可以使用一個簡單的密碼來存儲(如DES),並使用相同的輸入密碼來比較輸入和存儲。這是一個簡單的類,您可以使用它來加密密碼:http://www.java2s.com/Code/Java/Security/EncryptingaStringwithDES.htm – RLM