首先新建一个名为HomeWorkSystemCommon的类库,在该类库下新建名为Md5的类,
下面是Md5类的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace HomeWorkSystemCommon { /// <summary> /// MD5加密类 /// </summary> public class Md5 { /// <summary> /// MD5加密字符串 /// </summary> public static string GetMD5String(string str) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] data = System.Text.Encoding.Default.GetBytes(str); byte[] md5data = md5.ComputeHash(data); md5.Clear(); StringBuilder builder = new StringBuilder(); for (int i = 0; i < md5data.Length - 1; i++) { builder.Append(md5data[i].ToString("X2")); } return builder.ToString(); } } }
登陆的时候,数据库取出来的用户登陆密码是通过MD5加密过的密码,
所以我们在登陆界面的输入框获取到后台的密码(123456)要调用
上面MD5类加密过,才与数据库取出来的密码进行比较。
后台LoginAction代码如下:
var stu = studentService.Find(student.S_Number); if(stu == null) return OpeCur.AjaxMsgNOOK("该用户错误~~!"); //将数据库取出来的密码与输入框经过MD5加密的密码比较 else if(stu.S_PassWord == Md5.GetMD5String(student.S_PassWord)) { Session["S_Name"] = stu.S_Name.ToString().Trim(); Session["C_Name"] = stu.C_Name.ToString().Trim(); Session["S_Number"] = stu.S_Number.ToString().Trim(); ViewData["StudentName"]= stu.S_Name.ToString().Trim(); return OpeCur.AjaxMsgOK("登录成功了~", "/Student/Index"); }