zoukankan      html  css  js  c++  java
  • 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);
            }
  • 相关阅读:
    POJ-2378 Tree Cutting
    ZOJ-3870 Team Formation
    POJ-1741 Tree (树上点分治)
    POJ-3107 Godfather
    HDU-3586 Information Disturbing(树形DP+删边)
    POJ 2796 (单调栈 + 前缀和)
    POJ 3250(单调栈)
    ATCoder 116 D (思维+贪心+栈)
    POJ2528 (离散化+线段树)
    HDU 2795(思维+线段树)
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/5387385.html
Copyright © 2011-2022 走看看