用户信息保存方式
Session
保存在服务器端,在用户登录以后调用用户的信息的时候可以进行获取
Cookie
保存在用户的浏览器中,在用户登录的时候进行获取。如果Cookie中存在用户的信息,则进行直接登录跳转。
保存的方式有以下两种:
1.、保存到用户表中
在用户第一次登录的时候生成一个Guid保存到用户表中,然后写入浏览器的Cookie中,下次登录的时候进行检测,因为Guid的唯一性。
可以在用户对密码进行修改的时候再次生成一个Guid保存到用户表中,提高安全性。比如在外人的浏览器中进行登录,为了不让他使用可以进行密码修改,之前保存的Cookie就失去了作用。
2、将用户名以及密码写进用户浏览器的Cookie中去
安全性不高
加密后进行存储。
用户登录的时候可以进行解密。
可以自定义加密解密算法。
用户密码:p
随机产生一个两位的字符:s
加密算法:result = s + md5(s + md5(p));
s用来保存加密的时候在md5算法后面加上的字符,读取的时候读取字符串的前两位即可得到,之后再进行运算。以此来达到加密的目的
MD5生成方法:
private static string MD5Computer(string str) { MD5 md = MD5.Create();//为抽象方法,无法直接使用new创建对象,可以通过其静态方法Create()进行创建 byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);//将要转化的对象转化为二进制数组 byte[] comBytes = md.ComputeHash(bytes);//将对象转化后的二进制数组转化为MD5的方法生成的二进制数组 string mdStr = ""; foreach (byte item in comBytes) { mdStr += item.ToString("X").Length == 1 ? "0" + item.ToString("X") : item.ToString("X");// 转变成十六位的时候,应该转化成两位的十六位数字。如果是一位的则在前面加0,如果不是则直接添加到转化后的值 } return mdStr; }