你的位置:首页 > ASP.net教程

[ASP.net教程]MD5加密操作


     MD5加密操作:MD5加密算法原理MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。

 

//导入命名空间using System.Security.Cryptography;

    MD5加密文件

 

string GetFileMd5(string path) { string ctyptStr = ""; byte[] cryptBytes; using (FileStream fs = new FileStream(path,FileMode.Open)) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); cryptBytes = md5.ComputeHash(fs); } for (int i = 0; i < cryptBytes.Length; i++) { ctyptStr += cryptBytes[i].ToString("X2"); } return ctyptStr; }

    MD5加密字符串

 

方式一: public string GetMD5String(string pwd){ MD5CryptoServiceProvider md5=new MD5CryptoServiceProvide(); byte[] data=System.Text.Encoding.ASCII.GetBytes(pwd); byte[] md5data=md5.ComputeHash(data); StringBuilder builder=new StringBUilder(); for(int i=0;i<md5data.Length-1;i++) { builder.Append(md5data[i].ToString("X2")); } return builder;}

方式二: public string GetMd5(string msg) { string cryptStr = ""; MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] bytes = Encoding.UTF8.GetBytes(msg); byte[] cryptBytes = md5.ComputeHash(bytes); for (int i = 0; i < cryptBytes.Length; i++) { cryptStr += cryptBytes[i].ToString("X2"); } return cryptStr; }

我们也可以用Foreach进行循环

 

 public string GetMD5String(string code)   {     //在登录的时候调用的     MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();     //将字符串  转换 byte[]     byte[] bytes = Encoding.Default.GetBytes(code);     byte[] md5Byte = md5.ComputeHash(bytes);     //byte[]  转换 字符串     StringBuilder sb = new StringBuilder();     foreach (byte item in md5Byte)     {       sb.Append(item.ToString("X2"));     }     return sb.ToString();           }

我可以在主窗体调用

 

 private void btnexit_Click(object sender, EventArgs e)    {      Md5加密 md = new Md5加密();      string num= md.GetMD5String("1");      MessageBox.Show(num);    }