使用MD5对密码进行加密
项目中需要在登录验证用户名、密码的时候对密码进行加密处理,由于是比较商业化的软件,所以安全方面还是必须要考虑的。而使用MD5随机散列加密算法使得密码加密后不可逆,很大程度上提升了安全性。废话不多说,看例子。MD5加密类
[csharp]
<span style="font-size:18px;">using System;
using System.Text;
using System.Security.Cryptography;
namespace encryptType
{
public class Encrypt
{
public string encrypt(string strPwd)
{
String str = "";
// 初始化MD5对象
MD5 md5 = new MD5CryptoServiceProvider();
// 将字符编码为一个字节数组
byte[] data = Encoding.Default.GetBytes(strPwd);
// 计算data字节数组的哈希值
byte[] md5Data = md5.ComputeHash(data);
// 清空md5
md5.Clear();
// 遍历md5Data哈希数组
for (int i = 0; i < md5Data.Length-1; i++)
{
str += md5Data[i].ToString("x").PadLeft(2, '0');
}
return str;
}
}
}
</span>
窗体代码
[csharp]
<span style="font-size:18px;">// 定义变量
String userName = "yh101";
String passWord = "1234";
//String userName = txtUserName.Text.Trim();
//String passWord = txtPwd.Text.Trim();
//String str1 = "";
//String str2 = "";
// 实例化加密类
Encrypt encrypt = new Encrypt();
// 加密密码
String strPwd = encrypt.encrypt(passWord);
// 验证用户名
if (userName != txtUserName.Text.Trim())
{
MessageBox.Show("用户名不存在,请重新输入!");
txtUserName.Clear();
txtUserName.Focus();
return;
}
// 将输入的密码进行加密
String strMima = encrypt.encrypt(txtPwd.Text.Trim());
// 验证密码
if (strMima != strPwd)
{
MessageBox.Show("密码不正确,登录失败!");
txtPwd.Clear();
txtPwd.Focus();
return;
}
MessageBox.Show("密码正确,登录成功!" + "输入密码:" + strMima + "原密码:" + strPwd);</span>
界面效果图
补充:综合编程 , 安全编程 ,