gpt4 book ai didi

Java-将用户名和密码与文本文件进行比较

转载 作者:行者123 更新时间:2023-12-01 12:40:10 25 4
gpt4 key购买 nike

目前我正在开发一个程序,需要添加多个用户,每个用户都有自己的密码,因此所有用户名和密码将保存在同一个文本文件中。我的问题是,有什么解决方案可以仅比较用户名和密码吗?

例如,用户A登录,用户输入用户名和密码后,它将遍历文本文件并取出用户A的用户名和密码,而不触及用户B或C的用户B或C的用户名和密码

最佳答案

最简单的方法是使用属性。 Java 属性文件如下所示:

# this is a comment
name=value
user=password

我建议不要将密码以纯文本形式存储在文件中。保存它的哈希值足以比较密码:

public class YourPasswordStorage
{
Properties users = new Properties();

public YourPasswordStorage (File file)
{
user.load(file);
}

void insertUser (String user, String password)
{
users.put(user,
Base64.getEncoder().encodeToString(
MessageDigest.getInstance("sha-512").digest(password)));
}

boolean checkUser (String user, String password)
{
String hash = Base64.getEncoder().encodeToString(
MessageDigest.getInstance("sha-512").digest(password));
return (hash.equals(users.get(user)); // note that users.get(user) could be null
}
}


请注意,由于一些未捕获的异常,上面的代码将无法编译,但我希望您了解它是如何工作的。

关于Java-将用户名和密码与文本文件进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25188538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com