【问题标题】:How to compare hashed password from 2 servlets using jBCrypt如何使用 jBCrypt 比较来自 2 个 servlet 的散列密码
【发布时间】:2018-10-03 07:48:57
【问题描述】:

我在如何以及在何处比较我在注册 servlet 上散列的密码和我在登录时散列的密码时遇到问题。小服务程序。

希望你们能帮助我。谢谢。 登录小服务程序:

String password = request.getParameter("pword");
String haspw = BCrypt.hashpw(password, salt);

/* if username and password match*/
UserIO io = new UserIO();

authenticate = io.LogAccount(username, haspw);
if (authenticate == true) {
    uri = "Homepage.jsp";
    session.setAttribute("active", username);
} else {
    uri = "/WEB-INF/jsp/error.jsp";
}
RequestDispatcher rd = request.getRequestDispatcher(uri);
rd.forward(request, response);
out.close();

用户IO

if (registered_name.isEmpty() ||registered_pass.isEmpty()) { //registered_name.equals(username) && registered_pass.equals(password)
    //uri = "Homepage.jsp";
    hasInfo = false;
} else if (registered_name.equals(username) && registered_pass.equals(password)) {
hasInfo = true;
}

注册小服务程序

String pword = request.getParameter("pword");
    String hashed = BCrypt.hashpw(pword, salt);

【问题讨论】:

    标签: java jbcrypt


    【解决方案1】:

    使用方法checkpw

    BCrypt.checkpw(pword, salt);
    

    这会在比较中返回一个布尔值。

    【讨论】:

    • 嗨!感谢那。我应该将它与哪个 servlet 进行比较?登录 servlet 还是注册 servlet?
    • 变量pword必须是表单登录时填写的字符串密码。编辑后我认为应该是password
    猜你喜欢
    • 2012-04-01
    • 2016-09-19
    • 2019-08-01
    • 2020-10-05
    • 2010-10-11
    • 2016-06-19
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    相关资源
    最近更新 更多