用户密码为字符串,连接数据库进行登陆时与数据库密码的不符
问题描述:
密码为字符串,但是存入数据库后密码变为以*开头的十六位数字,如何使两者相等然后登陆成功?
例如 username='admin' authentication_string='123' 存入数据库后密码就为*DC5A046DA94AF40FB52A14F558BF677521CE8122
当连接数据库进行登陆验证的时候,如何使‘123’与‘*DC5A046DA94AF40FB52A14F558BF677521CE8122’一致,从而登陆成功。
答
如果是图形界面的话,可以用“星号密码查看器”看下。字符界面就不行了。话说你设置的密码,你自己没有数?
答
输入16位 * 星号
答
要把123 hash或者md5加密一下然后对比?
答
建议你在程序里面加密密码,比如用户设置密码的时候用程序加密,存到数据库的varchar,然后在登录的时候,在把用户输入的密码在程序里面加密一次,和数据库的一对比就知道是否一致了。
答
首先要弄明白数据库存的是经过什么算法加密之后的,可以从源头入手分析,然后抽取加密部分进行转换