首页 > 代码库 > MD5随机散列加密算法

MD5随机散列加密算法

 项目中需要在登录验证用户名、密码的时候对密码进行加密处理,由于是比较商业化的软件,所以安全方面还是必须要考虑的。而使用MD5随机散列加密算法使得密码加密后不可逆,很大程度上提升了安全性。废话不多说,看例子。

MD5加密类

[csharp] view plaincopy
  1. <span style="font-size:18px;">using System;  
  2. using System.Text;  
  3. using System.Security.Cryptography;  
  4.   
  5. namespace encryptType  
  6. {  
  7.     public class Encrypt  
  8.     {  
  9.         public string encrypt(string strPwd)  
  10.         {  
  11.             String str = "";  
  12.   
  13.             // 初始化MD5对象  
  14.             MD5 md5 = new MD5CryptoServiceProvider();  
  15.             // 将字符编码为一个字节数组  
  16.             byte[] data = Encoding.Default.GetBytes(strPwd);  
  17.             // 计算data字节数组的哈希值  
  18.             byte[] md5Data = md5.ComputeHash(data);  
  19.             // 清空md5  
  20.             md5.Clear();  
  21.             // 遍历md5Data哈希数组  
  22.             for (int i = 0; i < md5Data.Length-1; i++)  
  23.             {  
  24.                 str += md5Data[i].ToString("x").PadLeft(2, ‘0‘);  
  25.             }  
  26.   
  27.             return str;  
  28.         }  
  29.     }  
  30. }  
  31. </span>  

窗体代码

[csharp] view plaincopy
  1. <span style="font-size:18px;">// 定义变量  
  2. String userName = "yh101";  
  3. String passWord = "1234";  
  4. //String userName = txtUserName.Text.Trim();  
  5. //String passWord = txtPwd.Text.Trim();  
  6. //String str1 = "";  
  7. //String str2 = "";  
  8.               
  9. // 实例化加密类  
  10. Encrypt encrypt = new Encrypt();  
  11. // 加密密码  
  12. String strPwd = encrypt.encrypt(passWord);  
  13.   
  14. // 验证用户名  
  15. if (userName != txtUserName.Text.Trim())  
  16. {  
  17.      MessageBox.Show("用户名不存在,请重新输入!");  
  18.      txtUserName.Clear();  
  19.      txtUserName.Focus();  
  20.      return;  
  21. }  
  22.               
  23. // 将输入的密码进行加密  
  24. String strMima = encrypt.encrypt(txtPwd.Text.Trim());  
  25. // 验证密码  
  26. if (strMima != strPwd)  
  27. {  
  28.      MessageBox.Show("密码不正确,登录失败!");  
  29.      txtPwd.Clear();  
  30.      txtPwd.Focus();  
  31.      return;  
  32. }  
  33.   
  34. MessageBox.Show("密码正确,登录成功!" + "输入密码:" + strMima + "原密码:" + strPwd);</span>  

原文出处:http://blog.csdn.net/happylee6688/article/details/8504067  紫羽风的博客

MD5随机散列加密算法