采用MD5加密数据库password后发现Login.jsp页面原数据库账号密码无法登陆问题的解决方案
本人java新人一个 如果文章有不足或者错误之处希望各位前辈斧正
我们知道 如果简简单单就把密码设置为明文的形式是一种很不安全的行为 于是就有了各种各样的加密算法来保护我们的数据库信息不会被泄露常用的加密方式有MD5 SHA1 SHA512等 今天遇上了博主碰到的一个问题 数据库和servlet设置完MD5加密后 忽然发现原有数据库的username和passoword不能登录了 博主看了所有的加密方式 都没有错 最后发现问题在数据库身上 :
当时写数据库密码加密语句时:

一不小心手抖按了两下
这样就导致当时你在注册页面时输入的是123 当时第一次加密后变成202cb962ac59075b964b07152d234b70 又点了一次执行后变成了e10adc3949ba59abbe56e057f20f883e 之后你在登陆页面拿着123加密一次后的202cb962ac59075b964b07152d234b70 和数据库中加密两次的e10adc3949ba59abbe56e057f20f883e来对比 肯定就显示密码不正确了
解决方案:
1.删除数据库之前的数据
2.如果数据库体系庞大 那么建议将工具类MD5Utils中的md5加密方法多执行一次 使之变成与数据库加密次数相同的密文 但是不建议这么做 这样严重违反了java代码简洁性的原则。
本文探讨了在采用MD5加密数据库密码后,为何原有的账号密码无法登录的问题,并提供了两种解决方案:一是清除数据库中错误的加密记录;二是调整MD5加密算法的执行次数,使其与数据库中的加密次数相匹配。
1万+





