西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)C#.NET → MD5加密函數(shù)在ASP,ASP.NET,VB.NET中有哪些不同

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

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站原創(chuàng)時(shí)間:2010/1/22 15:26:00字體大。A-A+

作者:不詳點(diǎn)擊:1430次評(píng)論:0次標(biāo)簽: MD5

  • 類型:編程控件大。1.7M語言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

關(guān)于ASP,ASP.NET,VB.NET里的MD5加密函數(shù) 在ASP中,我們使用過如動(dòng)網(wǎng)論壇等用的ASP中MD5函數(shù)加密出的字符串則如: 
1165d25d8cd021d5 

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

   究其原因,是因?yàn),在ASP中的MD5函數(shù)是使用了32位MD5 Hashvalue中的第9~25位再變小寫作為密文。知道這個(gè)原因,把ASP.NET的結(jié)果稍加處理就可以用來比較老數(shù)據(jù)庫(kù)中的密碼字串了。 
在ASP的MD5函數(shù)中第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名稱空間,無法用上面簡(jiǎn)單的辦法進(jìn)行MD5加密。故我寫了下面這個(gè)函數(shù)來處理: 

VB.NET: 代碼´MD5 加密函數(shù) 
Public Shared Function MD5(ByVal strSource As String, ByVal Code As Int16) As String 
´這里用的是ascii編碼密碼原文,如果要用漢字做密碼,可以用UnicodeEncoding,但會(huì)與ASP中的MD5函數(shù)不兼容 
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位字符的加密結(jié)果 
For i = 4 To 11 
MD5 += Hex(hashvalue(i)).ToLower 
Next 
Case 32 ´選擇32位字符的加密結(jié)果 
For i = 0 To 15 
MD5 += Hex(hashvalue(i)).ToLower 
Next 
Case Else ´Code錯(cuò)誤時(shí),返回全部字符串,即32位字符 
For i = 0 To hashvalue.Length - 1 
MD5 += Hex(hashvalue(i)).ToLower 
Next 
End Select 
End Function 

    中信建投證券期貨
    (25)中信建投證券期貨
    中信建投證券期貨是中信建投幫助客戶更好地投資中國(guó)證券市場(chǎng)而開發(fā)的一系列的網(wǎng)上交易系統(tǒng)軟件,是為了方便用戶能能在網(wǎng)上進(jìn)行投資更加的簡(jiǎn)單化,中信建投大智慧中信建投同花順中信建投博易大師等都是非常不錯(cuò)的被別人廣泛使用的名片系列的中信建投網(wǎng)上交易系統(tǒng),中信建投證券成立于年月日,是經(jīng)中國(guó)證監(jiān)會(huì)批準(zhǔn)設(shè)立的全國(guó)性大型綜合證券公司。公司注冊(cè)于北京,注冊(cè)資本億元,在全國(guó)個(gè)省市自治區(qū)設(shè)有家營(yíng)業(yè)網(wǎng)點(diǎn)。中信建投期貨有限公...更多>>

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

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

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)