当前位置:编程学习 > 网站相关 >>

使用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>  
界面效果图
 
 

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,