gpt4 book ai didi

java - 如何使用 md5 散列密码登录?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:58 28 4
gpt4 key购买 nike

我已经对我的密码进行哈希处理并将它们存储在数据库中。但是我不解密密码就无法登录。我该怎么做?

我的代码尝试这样做但不起作用:

@RequestMapping(method = RequestMethod.POST)
public String processLogin(Person user, BindingResult result,
@RequestParam("userName") String username,
@RequestParam("password") String password) {
try {
password = Hex.encodeHexString(MessageDigest.getInstance("SHA-256").digest());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
ValidateUser(username, password);

String destination = "";
if (success == true) {
destination = "redirect:/person.html";
}
else {
destination = "redirect:/index.html";
}
return destination;
}

public boolean ValidateUser(String username, String password) {
// Decrypt password here.
List<Person> users = service.getAllPersons();

for (Person allUsers : users) {
if (allUsers.getUserName().equals(username) &&
allUsers.getPassword().equals(password)) {
success = true;
}
}
return success;
}

这是我的 md5 加密:

public void setPassword(String password) {
String md5 = null;
try {
// Create MessageDigest object for MD5
MessageDigest digest = MessageDigest.getInstance("MD5");

// Update input string in message digest
digest.update(password.getBytes(), 0, password.length());

// Converts message digest value in base 16 (hex)
md5 = new BigInteger(1, digest.digest()).toString(16);

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
this.password = md5;
}

最佳答案

您还对用户在登录时输入的密码进行加密,然后比较两个哈希值。因此,您需要使用相同的加密方法来存储密码和检查密码。

关于java - 如何使用 md5 散列密码登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646181/

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