矿产品交易网:用户登陆MD5问题?

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 06:04:48
username=trim(request.form("username"))
password=trim(request.form("password"))
if username<>"" and password<>"" then
password=md5(password)
set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("adodb.recordset")
on error resume next
sql="select * from userinf where username=" & sqlstr(username) & " and password=" & sqlstr(password) & " and forbid='no'"
rs.open sql,conn,1,1

登陆时MD5没有启作用,提示密码错误.数据库里的用户密码已被MD5加密。

请你指出你用的是哪种语言在开发,
我对VB类的代码不太熟,不过以我的理解,好像是ASP吧;

如果是MD5没有启作用,那你可以先做个测度页面,专门测试一个Md5函数;注意,一般的Md5加密都有长度设定,默认是32位码,我一般采用16位码,那么长度不一样,加密出来的代码自然不同;

如果正常,可以手工对照数据库中的数据,看看是不是数据库中数据存储有误;(相信不会有误)

最好先在程序中把加密后的密码输出在页面上,然后与数据库中密码核对..看看是否正确,正确的话SQL语句有问题,否则就是加密程序那个部分出错

先把加密后的打出来,看看是不是有误;
如果没有问题,看看是不是空格问题,如果字段类型是char(N),sqlserver会自动用空格补齐,这样就导致数据库中的密码和你输入不符,建议改成varchar