通常用户密码不会以明文保存在数据库,而是已加密后的文本保存
例如:
MD5加密后数字1变成:c4ca4238a0b923820dcc509a6f75849b
MD5加密后数字2变成:c81e728d9d4c2f636f067f89cc14862c
当有用户登录时,将用户的密码也进行加密得到加密后的文本,然后和数据库里加密后的文本比对来确认密码是否正确,这样除了用户其他人就不会真正知道密码的明文
使用方法:
if (CB_UserName.Text == oneLevel.userName) //(1)先比对用户名
{
//=========对输入密码进行处理===========// (2)对用户此时登录的密码进行加密
MD5 MD5Tool = MD5.Create();
string MD5str = "";
byte[] buffer = Encoding.Default.GetBytes(TB_UserPassword.Text); //获取密码的字节类型,对字节数据进行加密
buffer = MD5Tool.ComputeHash(buffer);
foreach (var item in buffer)
{
MD5str += item.ToString("x2"); //规范加密后的字符串格式
}
//======================================//
if (MD5str == oneLevel.userPassWord) //和数据库中的密文进行比对
{
userLv = oneLevel.userLevel; //判断用户级别
if (oneLevel.userLevel >= 3)
{
Btn_SetUser.Visible = true;
}
else
{
Btn_SetUser.Visible = false;
}
labelNote.Text = "用户登录成功!";
return;
}
else
{
userLv = 0;
labelNote.Text = "用户登录失败!";
labelNote.Visible = true;
return;
}
}
本文介绍如何在C#中使用MD5进行单向加密,以确保用户密码的安全存储。通过示例说明,当用户登录时,密码经过MD5加密并与数据库中的加密值比较,从而验证密码正确性。

3646

被折叠的 条评论
为什么被折叠?



