一個很簡化的C#訊息摘要演算法__演算法

來源:互聯網
上載者:User

 在程式中經常都要用到訊息摘要演算法, 如密碼的摘要演算法. 不過在.NET中的處理方式稍微有那麼一點複雜了, 有時候我們希望以更簡單的方式完成, 下面的代碼是可以簡化這個處理: using  System; using  System.Collections.Generic; using  System.Text; using  System.Security.Cryptography; namespace  OOHacker.Example ... {   public class MyMessageDigest   ...{     //=========================================================================     // 返回長為40位的SHA-1加密字串     //=========================================================================      public static string HexSHA(string text)     ...{       return MakeDigestTemplate(SHA1.Create(), text);     }     //=========================================================================     // 返回長為32位的MD5加密字串     //=========================================================================     public static string HexMD5(string text)     ...{       return MakeDigestTemplate(MD5.Create(), text);     }     //=========================================================================     // 加密模板     //=========================================================================     private static string MakeDigestTemplate(HashAlgorithm algo, string text)     ...{       byte[] data = algo.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));       StringBuilder codes = new StringBuilder();       for (int i = 0; i < data.Length; ++i)       ...{         codes.Append(data[i].ToString("x2"));       }       return codes.ToString();     }   } }

使用方法很簡單,如下所示: string  strmd5  =  MyMessageDigest.HexMD5( " oohacker " ); string  strsha  =  MyMessageDigest.HexSHA( " oohacker " ); Console.WriteLine( " Hex MD5 Encryption: {0} " , strmd5); Console.WriteLine( " Hex SHA-1 Encryption: {0} " , strsha);

輸出結果如下:

Hex MD5 Encryption:     eccca05fb779dcece81656890773b7bf Hex SHA-1 Encryption:   67576ffe5410fb70651ef8fd550ecdb7a9901603

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.