網上asp加密字元的MD5很多,也很普遍,但是對檔案進行md5的確很少,因為受到asp語言本身的限制。我們知道字串的md5可以對明文進行無法復原的加密,從而保證資料儲存或者傳送的安全性。同樣的,對檔案進行md5加密也是為了保證在網路傳送時不被修改和校正,另外還有一個用途就是在個人網站裡面的應用:可以保證上傳的圖片或檔案具有唯一性。原理是,上傳到伺服器之後,同時在資料庫中記錄該上傳檔案的md5值,這樣在下次傳同樣檔案的時候,可以通過查詢資料庫是否是相同的檔案,md5值相同,我們就認為它是相同的檔案,md5值就是檔案的“身份證”,其實百度也有這方面的應用,在百度搜尋圖片,點開圖片後,有時候會出現“您還可以點擊以下連結查看到這張圖片:XXX網址”,原理也是一樣,對檔案進行md5。
廢話少說,開始本文。
一、asp通過xml互動方式調用.Net程式實現檔案md5
asp由於本身語言的限制,無法實現檔案的md5,但是.net確可以,那是不是可以通過.net對檔案進行md5,然後發送資訊給asp接收,這樣就可以做到asp的md5了呢,答案是肯定的。這裡涉及到asp與.net程式間的互動,我以前寫過一個asp的類:《asp處理xml資料的發送、接收類》,可以上我的百度空間看:http://hi.baidu.com/manbutianmi/blog/item/dec182fc6db36587b801a0f6.html,講的是asp處理xml資料的發送與接收,可用於各種異構系統之間API介面間通訊。本文正好是這個類的一個應用。代碼如下:
asp端代碼
xmlcls.asp
<%
Rem 處理xml資料的發送、接收類
'--------------------------------------------------
'轉載的時候必須保留此著作權資訊
'作者:walkman
'網址:手機主題網:http://www.shouji138.com
'版本:ver1.0
'--------------------------------------------------
Class XmlClass
Rem 變數定義
Private XmlDoc,XmlHttp
Private MessageCode,SysKey,XmlPath
Private m_GetXmlDoc,m_url
Private m_XmlDocAccept
Rem 初始化
Private Sub Class_Initialize()
On Error Resume Next
MessageCode = ""
XmlPath = ""
Set XmlDoc = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0")
XmlDoc.ASYNC = False
End Sub
Rem 銷毀對象
Private Sub Class_Terminate()
If IsObject(XmlDoc) Then Set XmlDoc = Nothing
If IsObject(m_XmlDocAccept) Then Set m_XmlDocAccept = Nothing
If IsObject(m_GetXmlDoc) Then Set m_GetXmlDoc = Nothing
End Sub