项目中需要在登录验证用户名、密码的时候对密码进行加密处理,由于是比较商业化的软件,所以安全方面还是必须要考虑的。而使用MD5随机散列加密算法使得密码加密后不可逆,很大程度上提升了安全性。废话不多说,看例子。
MD5加密类
- <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 = new MD5CryptoServiceProvider();
-
- byte[] data = Encoding.Default.GetBytes(strPwd);
-
- byte[] md5Data = md5.ComputeHash(data);
-
- md5.Clear();
-
- for (int i = 0; i < md5Data.Length-1; i++)
- {
- str += md5Data[i].ToString("x").PadLeft(2, ‘0‘);
- }
-
- return str;
- }
- }
- }
- </span>
窗体代码
- <span style="font-size:18px;">
- String userName = "yh101";
- String passWord = "1234";
-
- 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>
原文出处:http://blog.csdn.net/happylee6688/article/details/8504067 紫羽风的博客
MD5随机散列加密算法
原文:http://www.cnblogs.com/wangsf2015/p/4260471.html