程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 淺談C#中Md5和Sha1兩種加密方法

淺談C#中Md5和Sha1兩種加密方法

編輯:C#入門知識

淺談C#中Md5和Sha1兩種加密方法。本站提示廣大學習愛好者:(淺談C#中Md5和Sha1兩種加密方法)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談C#中Md5和Sha1兩種加密方法正文


1.新建掌握台運用法式

2.新建類 EncryptHelper.cs

public static class EncryptHelper
{
  /// <summary>
  /// 基於Md5的自界說加密字符串辦法:輸出一個字符串,前往一個由32個字符構成的十六進制的哈希散列(字符串)。
  /// </summary>
  /// <param name="str">要加密的字符串</param>
  /// <returns>加密後的十六進制的哈希散列(字符串)</returns>
  public static string Md5(this string str)
  {
    //將輸出字符串轉換成字節數組
    var buffer = Encoding.Default.GetBytes(str);
    //接著,創立Md5對象停止散列盤算
    var data = MD5.Create().ComputeHash(buffer);

    //創立一個新的Stringbuilder搜集字節
    var sb = new StringBuilder();

    //遍歷每一個字節的散列數據 
    foreach (var t in data)
    {
      //格局每個十六進制字符串
      sb.Append(t.ToString("X2"));
    }

    //前往十六進制字符串
    return sb.ToString();
  }

  /// <summary>
  /// 基於Sha1的自界說加密字符串辦法:輸出一個字符串,前往一個由40個字符構成的十六進制的哈希散列(字符串)。
  /// </summary>
  /// <param name="str">要加密的字符串</param>
  /// <returns>加密後的十六進制的哈希散列(字符串)</returns>
  public static string Sha1(this string str)
  {
    var buffer = Encoding.UTF8.GetBytes(str);
    var data = SHA1.Create().ComputeHash(buffer);

    var sb = new StringBuilder();
    foreach (var t in data)
    {
      sb.Append(t.ToString("X2"));
    }
    
    return sb.ToString();
  }
}

3.修正 Program.cs 停止輸入

class Program
{
  static void Main(string[] args)
  {
    const string s = "123456";
    Console.WriteLine("暗碼:"+s);

    Console.WriteLine("Md5:"+s.Md5());
    Console.WriteLine("長度:"+s.Md5().Length);

    Console.WriteLine("Sha1:" + s.Sha1());
    Console.WriteLine("長度:" + s.Sha1().Length);

    Console.Read();
  }
}

4.後果圖

以上所述就是本文的全體內容了,願望年夜家可以或許愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved