MD5加密操作

2018-06-17 19:25:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

     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);
        }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:最简洁的跨线程控件调用

下一篇:.NET学习笔记(1)— C#学习路线图