为什么这两个值不一样?

zhuyike 2008-05-25 05:34:27
那个if (str==pwdstr)中的两个值不知道为什么就是一直不一样。。。但是我RESPONSE出来的值是一样的。。。
str,pwdstr两个值是经过MD5加密过的。。。。

        string str = "";
string pwdstr= FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.ToString(), "md5");
OleDbConnection acccon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("./bfjDB/bfj.mdb").ToString());
string selectCmd = "select * from login where Username='" + TextBox1.Text.ToString() + "'";
OleDbCommand acccom = new OleDbCommand(selectCmd, acccon);
acccon.Open();
OleDbDataReader dr = acccom.ExecuteReader();
Response.Write(pwdstr);
while (dr.Read())
{
str = dr["Password"].ToString();
Response.Write("<br>"+str);
}
dr.Close();
acccon.Close();
if (str==pwdstr)
{
string PWD = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox3.Text.ToString(), "md5");
string updateCmd = "update [login] set [Password]='"+PWD+"' where Username='" + TextBox1.Text.Trim().ToString() + "'";
OleDbCommand insertcom = new OleDbCommand(updateCmd, acccon);
acccon.Open();
insertcom.ExecuteNonQuery();
acccon.Close();
Response.Write("<script language=JavaScript> alert('修改密码成功!');</script>");
}
else
{
Response.Write("<script language=JavaScript> alert('用户名或密码错误!');</script>");
}
...全文
45 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
milo4210 2008-05-25
  • 打赏
  • 举报
回复
if(str.Trim() == pwdstr.Trim()) 试一下
milo4210 2008-05-25
  • 打赏
  • 举报
回复
你确保你的 pwdstr 也是同样的密码 ?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧