成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談ASP.NET和VB.NET的MD5加密函數

開發 后端
本文將簡單談談ASP.NET和VB.NET的MD5加密函數,MD5加密函數是一種比較綜合的方法啊,應用范圍很廣,希望本文能對大家有所幫助。

在ASP中,我們使用過如動網論壇等用的ASP中MD5函數加密出的字符串則如:

1165d25d8cd021d5

而在ASP.NET中下面的方法:

  1. System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text,"MD5") 

進行MD5加密出來的結果卻是:

12C403B91165D25D8CD021D5F9B5BB7F

究其原因,是因為,在ASP中的MD5函數是使用了32位MD5Hashvalue中的第9~25位再變小寫作為密文。知道這個原因,把ASP.NET的結果稍加處理就可以用來比較老數據庫中的密碼字串了。

在ASP的MD5函數中第353、354行:

  1. 'MD5=LCase(WordToHex(a)&WordToHex(b)&WordToHex(c)&WordToHex(d))  
  2. MD5=LCase(WordToHex(b)&WordToHex(c))'Icropthistofit16bytedatabasepassword:D 

第一句是取全部的32位密文,第二句則是取中間第9~25位為16位密文。

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

VB.NET:

VB.NET的MD5加密函數

  1. PublicSharedFunctionMD5(ByValstrSourceAsString,ByValCodeAsInt16)AsString 

'這里用的是ascii編碼密碼原文,如果要用漢字做密碼,可以用UnicodeEncoding,但會與ASP中的MD5函數不兼容

  1. DimdataToHashAsByte()=(NewSystem.Text.ASCIIEncoding).GetBytes(strSource)  
  2. DimhashvalueAsByte()=CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"),System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)  
  3. DimiAsInteger  
  4. SelectCaseCode  
  5. Case16'選擇16位字符的加密結果  
  6. Fori=4To11 
  7. MD5+=Hex(hashvalue(i)).ToLower  
  8. Next  
  9. Case32'選擇32位字符的加密結果  
  10. Fori=0To15 
  11. MD5+=Hex(hashvalue(i)).ToLower  
  12. Next  
  13. CaseElse'Code錯誤時,返回全部字符串,即32位字符  
  14. Fori=0Tohashvalue.Length-1  
  15. MD5+=Hex(hashvalue(i)).ToLower  
  16. Next  
  17. EndSelect  
  18. EndFunction 

【編輯推薦】

  1. ASP.NET的DataList和Repeater控件
  2. 淺析ASP.NET的IIS映射
  3. 概述ASP.NET狀態類型
  4. 淺談ASP.NET和Web服務器
  5. ASP.NET的EnableViewState屬性
責任編輯:彭凡 來源: 51CTO.com
相關推薦

2011-05-19 09:20:21

VB.NETASP.NET

2009-10-26 14:06:03

2009-07-24 15:58:20

ASP.NET MD5ASP.NET SHA

2009-07-28 17:03:55

ASP.NET VB.

2009-10-14 12:51:41

VB.NET Data

2009-10-28 10:31:23

VB.NET Impl

2009-10-20 09:39:04

VB.NET Butt

2009-10-14 10:08:05

VB.NET編寫DEC

2009-10-12 13:32:58

VB.NET線程構造器

2009-10-16 10:14:26

VB.NET使用Fil

2009-10-13 11:22:46

VB.NET調用Web

2009-07-20 15:30:11

ASP.NET應用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-24 10:52:42

ASP.NET ISA

2009-10-19 11:28:42

VB.NET語言.NET開發語言

2009-10-21 10:45:50

VB.NET Quic

2009-10-15 17:50:48

VB.NET Spli

2009-10-29 14:02:24

VB和VB.NET比較

2009-11-10 13:27:30

VB.NET RND(

2009-06-29 10:50:18

VB.NET面向對象能力
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美亚洲国产日韩 | 久久精品国产久精国产 | 成人免费视屏 | 91久久国产综合久久 | 色偷偷噜噜噜亚洲男人 | 九九精品影院 | cao在线 | 久久久久国产精品 | 国产精品欧美精品日韩精品 | 精品久久久网站 | 国产美女视频一区 | 欧美一区二区三区在线免费观看 | 国产精品一区二区在线免费观看 | 欧美日韩一区在线观看 | 欧美八区 | 日韩av一区在线观看 | 在线观看国产精品一区二区 | 一区二区三区国产 | 欧美舔穴 | 91精品国产色综合久久不卡蜜臀 | 日韩欧美一区二区三区四区 | 97精品超碰一区二区三区 | 天天久久| 国产成人精品久久 | 999国产精品视频 | 国产精品久久久久久网站 | 久久精品亚洲精品国产欧美 | 亚洲精品九九 | 国产精品毛片无码 | 久久精品99 | 久久精品黄色 | 欧美日韩精品 | 国产一区二区欧美 | 欧美性一区二区三区 | 9999在线视频 | 一区二区高清 | 中文字幕亚洲欧美 | 日韩一区二区免费视频 | 亚洲激情综合网 | 国产美女在线观看 | 日韩国产中文字幕 |