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);
            }
  • 相关阅读:
    iOS之蓝牙开发—CoreBluetooth详解
    iOS-GCD使用详解
    iOS—Mask属性的使用
    idea导入eclipse中的maven项目
    SQL Server 查找字符串中指定字符出现的次数
    lLinux的常用命令
    从excel表中生成批量SQL
    ORA-00911: invalid character 错误解决
    sqlserver sp_who2和inputbuffer的使用,连接数
    如果存在这个表,则删除这个表的sql
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/5387385.html
Copyright © 2011-2022 走看看