【发布时间】:2017-12-30 10:02:15
【问题描述】:
我在普通字符串中输入密码
public JobSeeker validateJobSeeker(String um, String pas) {
System.out.println("in side jobseek valid dao");
String hql= "select j from JobSeeker j where j.emailid=:u and j.password = COMPRESS(MD5(:pass))";
List<JobSeeker> listofjobseeker = (List<JobSeeker>) sf.getCurrentSession()
.createQuery(hql)
.setParameter("u", um)
.setParameter("pass", pas).list();
return ( listofjobseeker.size() > 0 ) ? listofjobseeker.get(0) : null;
}
O/p = 列表 listofjobseeker = null。
这是我的桌子:
select * from jobseeker;
id | confirmpassword | emailid | message | password | phoneno| username | usertype | address_id |
+----+----------------------------------+-----------------------+---------+-
| 1 | 8337da1b34a7b4fec56bc0a418ca6e22 | xyz@gmail.com | NULL |
8337da1b34a7b4fec56bc0a418ca6e22 | 123456 | Angad | jobseeker | 1
我想验证用户是否登录。我将用户给定的密码转换为 md5 密码格式并在用户注册时存储到数据库中。当用户使用相同的 email_id 和密码登录时。我无法检查 md5 格式的密码给用户通过。
【问题讨论】:
-
不要使用 md5 进行密码散列。它在 10 年前被黑客入侵,被认为是不安全的。如果您坚持不更改,只需使用普通密码即可,这提供了大致相同的安全性
-
我知道,但它是用 md5 完成的。你能给我同样的解决方案吗?
-
专业提示:在 Stack Overflow 上,读者欣赏使用真实英语单词精心撰写的帖子。请为 Facebook
:-)保存 txtspk。谢谢。