• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發C#.NET → MD5加密函數在ASP,ASP.NET,VB.NET中有哪些不同

    MD5加密函數在ASP,ASP.NET,VB.NET中有哪些不同

    相關軟件相關文章發表評論 來源:本站原創時間:2010/1/22 15:26:00字體大?。?em class="fontsize">A-A+

    作者:不詳點擊:1430次評論:0次標簽: MD5

    CHAOS MD5免費的編碼器V2014.0.0.1官方版
    • 類型:編程控件大?。?i>1.7M語言:中文 評分:10.0
    • 標簽:
    立即下載

    關于ASP,ASP.NET,VB.NET里的MD5加密函數 在ASP中,我們使用過如動網論壇等用的ASP中MD5函數加密出的字符串則如: 
    1165d25d8cd021d5 

       而在Asp.Net中下面的方法: 代碼
    System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text,"MD5")進行MD5加密出來的結果卻是: 
    12C403B91165D25D8CD021D5F9B5BB7F

       究其原因,是因為,在ASP中的MD5函數是使用了32位MD5 Hashvalue中的第9~25位再變小寫作為密文。知道這個原因,把ASP.NET的結果稍加處理就可以用來比較老數據庫中的密碼字串了。 
    在ASP的MD5函數中第353、354行: 代碼
    ´MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) 
    MD5=LCase(WordToHex(b) & WordToHex(c)) ´I crop this to fit 16byte database password :D
    第一句是取全部的32位密文,第二句則是取中間第9~25位為16位密文。 

    到了vb.net問題又來了,在vb.net里,無法用到System.Web.Security名稱空間,無法用上面簡單的辦法進行MD5加密。故我寫了下面這個函數來處理: 

    VB.NET: 代碼´MD5 加密函數 
    Public Shared Function MD5(ByVal strSource As String, ByVal Code As Int16) As String 
    ´這里用的是ascii編碼密碼原文,如果要用漢字做密碼,可以用UnicodeEncoding,但會與ASP中的MD5函數不兼容 
    Dim dataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(strSource) 
    Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash) 
    Dim i As Integer 
    Select Case Code 
    Case 16 ´選擇16位字符的加密結果 
    For i = 4 To 11 
    MD5 += Hex(hashvalue(i)).ToLower 
    Next 
    Case 32 ´選擇32位字符的加密結果 
    For i = 0 To 15 
    MD5 += Hex(hashvalue(i)).ToLower 
    Next 
    Case Else ´Code錯誤時,返回全部字符串,即32位字符 
    For i = 0 To hashvalue.Length - 1 
    MD5 += Hex(hashvalue(i)).ToLower 
    Next 
    End Select 
    End Function 

      中信建投證券期貨
      (25)中信建投證券期貨
      中信建投證券期貨是中信建投幫助客戶更好地投資中國證券市場而開發的一系列的網上交易系統軟件,是為了方便用戶能能在網上進行投資更加的簡單化,中信建投大智慧中信建投同花順中信建投博易大師等都是非常不錯的被別人廣泛使用的名片系列的中信建投網上交易系統,中信建投證券成立于年月日,是經中國證監會批準設立的全國性大型綜合證券公司。公司注冊于北京,注冊資本億元,在全國個省市自治區設有家營業網點。中信建投期貨有限公...更多>>

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

      • 8 喜歡喜歡
      • 3 頂
      • 1 難過難過
      • 5 囧
      • 3 圍觀圍觀
      • 2 無聊無聊

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>