一、密码的加密
1、在一个网站上注册信息时,需要用户创建密码。而密码在数据库的存储是明文的话很容易被别人利用,所以我们在用户注册信息并向服务器发送信息时
就对其的密码经行加密。所学到的加密方法是利用MD5方法经行加密。函数如下:
public static string GetMD5(string sDataIn)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytValue, bytHash;
bytValue = System.Text.Encoding.UTF8.GetBytes(sDataIn);
bytHash = md5.ComputeHash(bytValue);
md5.Clear();
string sTemp = "";
for (int i = 0; i < bytHash.Length; i++)
{
sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
}
return sTemp.ToLower();
}
使用方法:string password=GetMD5("输入密码的文本框");
2、有些网站可以进行破解,我们可以经行二次加密。
使用方法:string password=GetMD5(GetMD5("输入密码的文本框"));//多次加密以此类推
二、在注册用户信息时有时候需要用户激活一下帐号,而注册时用户表中的一个字段默认为false 。此时就需要用户在注册时我们向用户输入的邮箱内发送邮件。可以用到的方法如下:
public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
{
System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);
client.UseDefaultCredentials = false;
client.Credentials =
new System.Net.NetworkCredential(strFrom, strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message =
new MailMessage(strFrom, strto, strSubject, strBody);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.Send(message);
}
第一个参数如果是163邮箱就写smtp.163.com 如果是QQ邮箱就写smtp.qq.com
第二个参数发件人的帐号
第三个参数发件人密码
第四个参数收件人帐号
第五个参数主题
第六个参数内容.
当用户收到邮箱点击时可以链接到一个验证网页,输入帐号或邮箱,提交之后改变用户表中的一个字段为true。在登陆时判断此字段是否为true
如果是则登陆成功,如果不是提示用户经行激活。