注册 登录
编程论坛 ASP技术论坛

用md5加密码时出错.有两种不同的值?是那里错了,请问谁懂吗?[求助]

autumnluo 发布于 2007-10-01 15:41, 595 次点击
这是我增加用户时用md5加密的代码
set rs=server.createobject("adodb.recordset")
sql="select * from T_USER where (id is null)"
rs.open sql,conn,1,3
rs.addnew
rs("username")=username
rs("password")=md5(password)
rs.update
rs.close

这是我初始化密码时的代码:(初始化是把密码改成用用户名作密码)
Set rsd=Server.CreateObject("Adodb.RecordSet")
sqld="Select * from T_USER where id="&request("uid")
rsd.Open sqld,conn,1,3
rsd("password")=md5(rsd("username"))
rsd.update
rsd.close

这是修改密码的代码:
set rs=server.createobject("adodb.recordset")
sql="Select * from T_USER where ID=" & UserID
rs.open sql,conn,1,3
rs("password")=md5(password)
rs.update
rs.close



增加用户和修改密码时md5加密码后的密码都想同,可是在同一个值下,初始化后md5加密码的用户名字符串和增加或修改md5加密的密码不同.这是为什么?

请各在在线的朋友帮忙看一下这三段代码那里错了.

6 回复
#2
yms1232007-10-01 16:18

楼主还是把代码全贴出来看看。

#3
autumnluo2007-10-01 16:43
回复:(yms123)楼主还是把代码全贴出来看看。

这是初始化密码的代码:
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/md5.asp"-->
<%
Set rs=Server.CreateObject("Adodb.RecordSet")
sql="Select * from T_USER where id="&request("uid")
rs.Open sql,conn,1,3
rs("password")=md5(rs("username"))
rs.update
rs.close
response.Write("<script language=javascript>alert('密码初始化成功成功');location='user_add.asp'</script>")
%>

这是增加用户是的代码:

dim username, password_1

username=Request("username")
password_1=Request("Password")
set rs=server.createobject("adodb.recordset")
sql="select * from T_USER where (id is null)"
rs.open sql,conn,1,3
rs.addnew
rs("username")=username
rs("password")=md5(password_1)
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('提交成功!');" & Chr(13)
response.write "window.document.location.href='user.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End


假如说这两种情况下,rs("username")和password_1的值相同.可md5(password_1)和md5(rs("username"))的值不同.

即数据库里的数据和表单文本域中的数据相同,可是从数据库里提出来的数据md5后和从表单文本域中提出来的数据md5后不同.这是为什么?有什么办法解决吗?
我上面的初始化密码的代码是把密码初始代为用户名.即用户名作为密码.如果不用md5加密码,初始化后密码就是用户名.

[此贴子已经被作者于2007-10-1 17:05:25编辑过]

#4
yms1232007-10-01 22:57

这两段代码都是在一个网页里?

#5
autumnluo2007-10-02 09:18
回复:(yms123)这两段代码都是在一个网页里?

不是,只有增加和修改的是在同一个页面,初始化不在.

#6
wcwtitxu2007-10-06 06:29
尝试 md5(TrimRight(rs("username")))
#7
autumnluo2007-10-09 09:10
回复:谢谢哦
可以了,谢谢前几楼的朋友.
1