c#加密

來源:互聯網
上載者:User

標籤:cep   arp   detail   substring   .com   c#   編碼   turn   converter   

轉自:51384246

一、SHA加密

/// <summary>  /// SHA1 加密,返回大寫字串  /// </summary>  /// <param name="content">需要加密字串</param>  /// <returns>返回40位UTF8 大寫</returns>  public static string SHA1(string content)  {      return SHA1(content, Encoding.UTF8);  }  /// <summary>  /// SHA1 加密,返回大寫字串  /// </summary>  /// <param name="content">需要加密字串</param>  /// <param name="encode">指定加密編碼</param>  /// <returns>返回40位大寫字串</returns>  public static string SHA1(string content, Encoding encode)  {      try      {          SHA1 sha1 = new SHA1CryptoServiceProvider();          byte[] bytes_in = encode.GetBytes(content);          byte[] bytes_out = sha1.ComputeHash(bytes_in);          sha1.Dispose();          string result = BitConverter.ToString(bytes_out);          result = result.Replace("-", "");          return result;      }      catch (Exception ex)      {          throw new Exception("SHA1加密出錯:" + ex.Message);      }  }  

二、md5加密

2.使用標準MD5CryptoServiceProvider 方法1

//方法1  //預設小寫 32位加密  public static string GetMd532(string str)  {      MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider();      byte[] bytes = Encoding.UTF8.GetBytes(str);      bytes = crypto.ComputeHash(bytes);      StringBuilder builder = new StringBuilder();      foreach (var item in bytes)      {          builder.AppendFormat("{0:x2}", item);      }      return builder.ToString();  }  //預設小寫 16位加密  public static string GetMd516(string str)  {      return GetMd532(str).Substring(8, 16);  }  

 3.使用標準MD5CryptoServiceProvider 方法2(推薦)

//方法2  //預設大寫 32位加密  public static string GetMd5_32(string str)  {      MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();      byte[] bytes = Encoding.UTF8.GetBytes(str);      string result = BitConverter.ToString(md5.ComputeHash(bytes));      return result.Replace("-", "");  }  //預設大寫 16位加密  public static string GetMd5_16(string str)  {      MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();      byte[] bytes = Encoding.UTF8.GetBytes(str);      string result = BitConverter.ToString(md5.ComputeHash(bytes),4,8);      return result.Replace("-", "");  }  

  4.測試

string str = "張三";  Console.WriteLine("FormsAuthentication:" + Md5Operate.HashMD5_String(str));  Console.WriteLine();  Console.WriteLine("md532:" + Md5Operate.GetMd532(str));  Console.WriteLine();  Console.WriteLine("md516:" + Md5Operate.GetMd516(str));  Console.WriteLine();  Console.WriteLine("md5_32:" + Md5Operate.GetMd5_32(str));  Console.WriteLine();  Console.WriteLine("md5_16:" + Md5Operate.GetMd5_16(str));  

  

 

c#加密

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.