一般的网页都有通过邮箱来找回密码和重置功能,这个过程分析如下
首先会让填写注册时间,用户的信息等等来判断是否是真正的用户这些这里这些不做详细讨论。
当验证信息通过后,用户点击按钮后台会随机生成密码,并对其MD5加密,在加密之前回做一些自动生成一封邮件里边包含用户的密码(此时为明文),发送给用户。
然后在服务器端会把加密的MD5替换旧的密码,此时密码修改成功。
public void FindPassword(Model.User user)
{
string newPass = Guid.NewGuid().ToString().Substring(0,8);//随机生成八位的密码
user.LoginPwd =newPass;
//对密码进行MD5加密
MD5 md5 = MD5.Create();
byte[] bs = Encoding.UTF8.GetBytes(newPass);
byte[] bsm = md5.ComputeHash(bs);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bsm.Length; i++)
{
sb.Append(bsm[i].ToString("x2"));
}
user.LoginPwd=sb.ToString();