asp.net編程中實現 MD5 加密_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP.NET常用的三十三種實用代碼
      1. 打開新的窗口并傳送參數: 傳送參數: response.write("<script>window.open(’*.aspx?id=" this.DropDownList1.SelectIndex &

      現在制作的web系統需要用到加密
      依舊選擇md5吧(其實我也就用過md5^_^)

      找到了兩種實現

      方案一:

      /**////
      /// 用md5加密
      ///
      /// 輸入的數據
      ///
      public static string MD5(string Sourcein)
      ...{
      MD5CryptoServiceProvider MD5CSP = new MD5CryptoServiceProvider();
      byte[] MD5Source = System.Text.Encoding.UTF8.GetBytes(Sourcein);
      byte[] MD5Out = MD5CSP.ComputeHash(MD5Source);
      return Convert.ToBase64String(MD5Out);
      }

      public static string md5(string str, int code)
      ...{
      if (code == 16) //16位MD5加密(取32位加密的9~25字符)
      ...{
      return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
      }

      if (code == 32) //32位加密
      ...{
      return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
      }
      return "00000000000000000000000000000000";
      }


      現在有兩種方法,第一種是通過MD5CryptoServiceProvider類對字節數據進行加密

      方案二:

      第二種直接加密以string類型作為參數,這個直觀些

      不懂兩個加密的結果怎么樣??

      TextBox1.Text = MD51("12345");
      TextBox2.Text = MD52("12345", 32);

      分別是

      md51:gnzLDuqKcGxMNKFokfhOew==

      md52:827ccb0eea8a706c4c34a16891f84e7b

      why?不一樣,用我的直覺判斷第二個是我經常見到的md5加密

      而第一種方式就搞不懂了呵呵

      提示一下

      第二種方式使用.ToLower()是為了與asp中的md5加密兼容;

      與asp兼容還有就是加密中文可能會遇到編碼問題。

      分享:新手入門之ASP.NET2.0中的緩存技術解析
      ASP.NET2.0提供如下緩存方式: Output Caching Fragment Caching Data Cache SQL Cache Cache Configuration 1. Output Caching: 當一個網頁被頻繁訪問時,我們可以把把整

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程