我正在构建一个简单的客户端 - 服务器架构,客户端连接到服务器,然后服务器请求客户端的用户名和密码。用户名和密码应保存在文本文件中。如果它们是正确的,则应允许客户端输入服务器的命令。
最好的解决方法是什么,包括应该从中提取项目的文本文件的格式?
感谢。
答案 0 :(得分:0)
您可以使用BufferedReader或Scanner从文件中读取用户名和密码。要编辑文件,可以使用BufferedWriter。
BufferedReader br = new BufferedReader(new FileReader(new File("C:\\the\\path\\of_file.txt")));
String password = br.readLine();
要编辑它,您可以使用:
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C:\\file.path")));
bw.write(new_password);
bw.close();
java.io
包中提供了所有类答案 1 :(得分:0)
这可能是最好的方法
如果安全性存在问题,您应首先检查如何安全地存储密码。 crackingstation.net可能是您在该主题上的第一站。
包括应从中抽取项目的文本文件的格式
这只是一个非常粗略的模型,可以让它尽可能简单:
LoginManager
这里有一个非常基本的想法:
public class LoginManager implements Serializable {
/** storage for login credentials */
private final Map<String, String> loginData = new ConcurrentHashMap<>();
public boolean addUser(final String username, final String password) {
if (loginData.containsKey(username)) {
return false;
}
loginData.put(username, password);
return true;
}
public boolean existUser(final String username) {
return loginData.containsKey(username);
}
public boolean checkPassword(final String username, final String password) {
return loginData.get(username).equals(password);
}
}