在我的web应用程序中使用servlet和hibernate。我需要验证输入密码的客户。与db中的记录匹配的用户密码
如果他已经在数据库中,我需要检查他的密码是否与db中记录的密码相匹配。对于新客户,我想要输入密码并为他创建一条记录。 我试图这样做的情况。
现有客户进入EMAILADDRESS和密码
String email = req.getParameter("emailAddress");
String password = req.getParameter("password");
Customer cust = dao.findByEmailAddress(email);
现在,我该如何检查,如果此卡斯特对象与密码相关联,并匹配用户输入的内容? Manning的hibernate书籍示例将密码作为字符串存储在Customer类中。这是一个好主意吗?这将如何存储在数据库中?
当使用hibernate时,如何处理?我听到有人提到将密码存储为散列。但我不太清楚在我的应用程序中如何做到这一点。
有人能告诉我如何解决这个问题吗?
感谢您的回复..使用哈希似乎是一个选项创建一个客户,我想我将不得不哈希用户的密码输入,调用customer.setPassword(hashedpass)然后调用客户端的saveUpdate(),以便将散列写入Customer表。为了验证,我将不得不散列用户输入,从数据库获得散列表,并匹配它们。这是正确的吗? – markjason72
是的,就是这样。如果您确实需要安全存储,请在密码散列之前先密码。 –