用户密码为字符串,连接数据库进行登陆时与数据库密码的不符

密码为字符串,但是存入数据库后密码变为以*开头的十六位数字,如何使两者相等然后登陆成功?
例如 username='admin' authentication_string='123' 存入数据库后密码就为*DC5A046DA94AF40FB52A14F558BF677521CE8122
当连接数据库进行登陆验证的时候,如何使‘123’与‘*DC5A046DA94AF40FB52A14F558BF677521CE8122’一致,从而登陆成功。

5个回答

如果是图形界面的话,可以用“星号密码查看器”看下。字符界面就不行了。话说你设置的密码,你自己没有数?

Z15111823643
菜菜菜菜几 回复caozhy: 很感谢你的回答,但是我做的是数据库的应用系统,目的是当用户在我的应用程序界面上进行登陆操作的时候,我的后台程序能连接数据库验证身份,查看数据库用户表中是否存在记录,有则登陆成功。所以您提的建议好像不太合适。
接近 2 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Z15111823643: 直接用我的办法后台改库试试看,登录成功再修改你要的密码
接近 2 年之前 回复
Z15111823643
菜菜菜菜几 回复caozhy: 我用的mysql数据库,就是不知道它默认的密码加密算法是什么,比如我的密码为'zhaodandan',用SELECT MD5('zhaodandan')出来的值,与数据库表中authentication_string的值不一样,所以我就不知道怎么才能用户在界面上上输入密码,后台成功链接数据库,实现登陆。
接近 2 年之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Z15111823643: 这要看你的密码加密算法,如果没有用用户名作为盐的话,你可以创建一个新账户,然后将生成加密后的密码复制到你原来的账户上,用新用户的密码登录老账户。
接近 2 年之前 回复
Z15111823643
菜菜菜菜几 我修改了问题描述,您再看一下呢。
接近 2 年之前 回复

要把123 hash或者md5加密一下然后对比?

Z15111823643
菜菜菜菜几 我有在数据库中使用SELECT MD5('123'),出来的值与数据库表之前存的值还是不一样。
接近 2 年之前 回复

建议你在程序里面加密密码,比如用户设置密码的时候用程序加密,存到数据库的varchar,然后在登录的时候,在把用户输入的密码在程序里面加密一次,和数据库的一对比就知道是否一致了。

首先要弄明白数据库存的是经过什么算法加密之后的,可以从源头入手分析,然后抽取加密部分进行转换

输入16位 * 星号

qq_39196400
K beasts key:value
接近 2 年之前 回复
Z15111823643
菜菜菜菜几 我修改了问题描述,您再看一下呢。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐