Es gibt viele MD5s für ASP-verschlüsselte Zeichen im Internet, und sie sind sehr verbreitet, aber MD5 für Dateien ist aufgrund der Einschränkungen der ASP-Sprache selbst tatsächlich sehr selten. Wir wissen, dass MD5 einer Zeichenfolge Klartext irreversibel verschlüsseln kann, um die Sicherheit der Datenspeicherung oder -übertragung zu gewährleisten. Ebenso wird die MD5-Verschlüsselung von Dateien verwendet, um sicherzustellen, dass sie während der Netzwerkübertragung nicht verändert und überprüft werden. Eine weitere Verwendung findet sich auf persönlichen Websites: Sie kann sicherstellen, dass die hochgeladenen Bilder oder Dateien eindeutig sind. Das Prinzip besteht darin, dass nach dem Hochladen auf den Server gleichzeitig der MD5-Wert der hochgeladenen Datei in der Datenbank aufgezeichnet wird. Auf diese Weise können wir beim nächsten Hochladen derselben Datei die Datenbank abfragen, um festzustellen, ob dies der Fall ist Wenn der MD5-Wert derselbe ist, betrachten wir ihn als den gleichen MD5-Wert. Tatsächlich gibt es in diesem Bereich auch Anwendungen Für Bilder auf Baidu und Klicken auf das Bild, manchmal „Sie können auch auf den folgenden Link klicken, um dieses Bild anzuzeigen: XXX URL“, das Prinzip ist das gleiche, md5 die Datei.
Lassen Sie uns ohne weitere Umschweife beginnen.
1. ASP ruft das .NET-Programm über den interaktiven XML-Modus auf, um die Datei MD5 zu implementieren
Aufgrund der Einschränkungen seiner eigenen Sprache kann ASP keine MD5-Datei implementieren, aber .net kann dies tatsächlich tun. Ist es möglich, MD5 für die Datei über .net auszuführen und die Informationen dann an ASP zu senden, um sie zu empfangen? Kann der MD5 von ASP erreicht werden? Antwort: Das ist sicher. Dies beinhaltet die Interaktion zwischen ASP- und .NET-Programmen. Ich habe bereits eine ASP-Klasse geschrieben: „ASP Processing XML Data Sending and Receiving Classes“. Sie können sie in meinem Baidu-Bereich anzeigen: http://hi.baidu.com/manbutianmi /blog/item/dec182fc6db36587b801a0f6.html befasst sich mit der ASP-Verarbeitung zum Senden und Empfangen von XML-Daten und kann für die Kommunikation zwischen API-Schnittstellen zwischen verschiedenen heterogenen Systemen verwendet werden. Dieser Artikel ist zufällig eine Anwendung dieser Klasse. Der Code lautet wie folgt:
ASP-Seitencode
xmlcls.asp
<%
Rem kümmert sich um das Senden und Empfangen von XML-Datenklassen
'------------------------------------------------ -
„Diese Copyright-Informationen müssen beim Nachdruck beibehalten werden.“
'Autor: Walkman
„Website: Mobile Theme Network: http://www.shouji138.com
'Version: ver1.0
'------------------------------------------------ -
ClassXmlClass
Rem-Variablendefinition
Privates XmlDoc,XmlHttp
Privater Nachrichtencode, SysKey, XmlPath
Privat m_GetXmlDoc,m_url
Private m_XmlDocAccept
Rem-Initialisierung
Private Sub Class_Initialize()
Bei Fehler Weiter fortsetzen
MessageCode = ""
XmlPath = ""
Setze XmlDoc = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0")
XmlDoc.ASYNC = Falsch
Sub beenden
Rem zerstört das Objekt
Private Sub Class_Terminate()
Wenn IsObject(XmlDoc), dann setze XmlDoc = Nothing
Wenn IsObject(m_XmlDocAccept) dann setze m_XmlDocAccept = Nothing
Wenn IsObject(m_GetXmlDoc) dann setze m_GetXmlDoc = Nothing
Sub beenden
'Öffentliche Attributdefinition beginnt------------
Rem-Fehlermeldung
Öffentliches Eigentum Get Message()
Nachricht = Nachrichtencode
End-Eigenschaft
Erinnern Sie sich an die Adresse, an die XML gesendet werden soll
Öffentliches Eigentum Let URL(str)
m_url = str
End-Eigenschaft
'Ende der öffentlichen Attributdefinition-----------
'Privater Prozess und Methodenstart-----------
Rem lädt XML
Private Sub LoadXmlData()
Wenn XmlPath <> "" Dann
Wenn nicht, XmlDoc.Load(XmlPath), dann
XmlDoc.LoadXml "<?xml version=""1.0""kodierung=""gb2312""?><root/>"
Ende wenn
Anders
XmlDoc.LoadXml "<?xml version=""1.0""kodierung=""gb2312""?><root/>"
Ende wenn
Rem-Zeichenkonvertierung
beenden
Private Funktion AnsiToUnicode(ByVal str)
Dim i, j, c, i1, i2, u, fs, f, p
AnsiToUnicode = ""
p = ""
Für i = 1 Zu Len(str)
c = Mid(str, i, 1)
j = AscW(c)
Wenn j < 0, dann
j = j + 65536
Ende wenn
Wenn j >= 0 und j <= 128, dann
Wenn p = „c“, dann
AnsiToUnicode = " " & AnsiToUnicode
p = „e“
Ende wenn
AnsiToUnicode = AnsiToUnicode & c
Anders
Wenn p = „e“, dann
AnsiToUnicode = AnsiToUnicode & " "
p = „c“
Ende wenn
AnsiToUnicode = AnsiToUnicode & ("&#" & j & ";")
Ende wenn
Nächste
Funktion beenden
Rem-Zeichenkonvertierung
Private Funktion strAnsi2Unicode(asContents)
Dim len1,i,varchar,varasc
strAnsi2Unicode = ""
len1=LenB(asContents)
Wenn len1=0, dann Funktion beenden
Für i=1 bis len1
varchar=MidB(asContents,i,1)
varasc=AscB(varchar)
Wenn varasc > 127 Dann
Wenn MidB(asContents,i+1,1)<>"" Dann
strAnsi2Unicode = strAnsi2Unicode & chr(ascw(midb(asContents,i+1,1) & varchar))
Ende wenn
i=i+1
Anders
strAnsi2Unicode = strAnsi2Unicode & Chr(varasc)
Ende wenn
Nächste
Funktion beenden
Rem hängt Zeichen an die Datei an
Private Sub WriteStringToFile(filename,str)
Bei Fehler Weiter fortsetzen
Dim fs,ts
Setze fs= createobject("script_ing.filesystemobject")
Wenn nicht IsObject(fs), dann Sub beenden
Setze ts=fs.OpenTextFile(Server.MapPath(filename),8,True)
ts.writeline(str)
ts.close
Setze ts=Nothing
Setze fs=Nothing
Sub beenden
'Privater Prozess und Methode Ende-----------
'Öffentliche Methode startet--www.devdao.com--------------------------------------
'''''''''''' Senden Sie den XML-Teil an den Start
Füllen Sie das XmlDoc-Objekt nicht aus einer externen XML-Datei
Öffentlicher Sub LoadXmlFromFile(path)
XmlPath = Server.MapPath(Pfad)
LoadXmlData()
Sub beenden
Rem füllt das XmlDoc-Objekt mit einer Zeichenfolge
Öffentlicher Sub LoadXmlFromString(str)
XmlDoc.LoadXml str
Sub beenden
Rem legt Knotenparameter wie NodeValue „appID“,AppID,1,False fest
'------------------------------------------------ -
'Parameter:
'NodeName Knotenname
'NodeText-Wert
'NodeType-Speichertyp [text=0,cdata=1]
'blnEncode, ob [true, false] codiert werden soll
'------------------------------------------------ -
Public Sub NodeValue(Byval NodeName,Byval NodeText,Byval NodeType,Byval blnEncode)
Dimmen Sie ChildNode,CreateCDATASection
NodeName = Lcase(NodeName)
Wenn XmlDoc.documentElement.selectSingleNode(NodeName) nichts ist, dann
Set ChildNode = XmlDoc.documentElement.appendChild(XmlDoc.createNode(1,NodeName,""))
Anders
Setze ChildNode = XmlDoc.documentElement.selectSingleNode(NodeName)
Ende wenn
Wenn blnEncode = True, dann
NodeText = AnsiToUnicode(NodeText)
Ende wenn
Wenn NodeType = 1, dann
ChildNode.Text = ""
Setze CreateCDATASection = XmlDoc.createCDATASection(Replace(NodeText,"]]>","]]>"))
ChildNode.appendChild(createCDATASection)
Anders
ChildNode.Text = NodeText
Ende wenn
Sub beenden
'------------------------------------------------ -
'Erhalten Sie den Wert des Knotens im gesendeten Paket-XML
'Parameter:
'Str-Knotenname
'------------------------------------------------ -
Öffentliche Eigenschaft GetXmlNode(ByvalStr)
Wenn XmlDoc.documentElement.selectSingleNode(Str) Nothing ist, dann
XmlNode = "Null"
Anders
XmlNode = XmlDoc.documentElement.selectSingleNode(Str).text
Ende wenn
End-Eigenschaft
'---------------------------------------------- -- ---
'Holen Sie sich das zurückgegebene XML-Datenobjekt
'Beispiel:
„Wenn GetXmlData nicht NULL ist, ist GetXmlData ein XML-Objekt
'------------------------------------------------ -
Öffentliche Eigenschaft Get GetXmlData()
Setzen Sie GetXmlData = m_GetXmlDoc
End-Eigenschaft
'------------------------------------------------ -
'Xml-Paket senden
'------------------------------------------------ -
Öffentlicher Sub SendHttpData()
Dim i,GetXmlDoc,LoadAppid
Setze Xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
Set GetXmlDoc = Server.CreateObject("msxml2.FreeThreadedDOMDocument.3.0") ' XML-Paket zurückgeben
XmlHttp.Open „POST“, m_url, false
XmlHttp.SetRequestHeader „content-type“, „text/xml“
XmlHttp.Send XmlDoc
'Response.Write strAnsi2Unicode(xmlhttp.responseBody)
Wenn GetXmlDoc.load(XmlHttp.responseXML) Dann
Setzen Sie m_GetXmlDoc = GetXmlDoc
Anders
MessageCode = „Fehler beim Anfordern von Daten!“
Sub verlassen
Ende wenn
Setzen Sie GetXmlDoc = Nothing
Setze XmlHttp = Nothing
Sub beenden
'------------------------------------------------ -
'XML-Daten der Sendeanforderung drucken
'------------------------------------------------ -
Öffentlicher Sub PrintSendXmlData()
Antwort.Klar
Response.ContentType = "text/xml"
Response.CharSet = "gb2312"
Response.Expires = 0
Response.Write "<?xml version=""1.0"" binding=""gb2312""?>"&vbNewLine
Response.Write XmlDoc.documentElement.XML
Sub beenden
'------------------------------------------------ -
'Zurückgegebene XML-Daten drucken
'------------------------------------------------ -
Öffentlicher Sub PrintGetXmlData()
Antwort.Klar
Response.ContentType = "text/xml"
Response.CharSet = "gb2312"
Response.Expires = 0
Wenn IsObject(m_GetXmlDoc) Dann
Response.Write "<?xml version=""1.0"" binding=""gb2312""?>"&vbNewLine
Response.Write m_GetXmlDoc.documentElement.XML
Anders
Response.Write „<?xml version=""1.0""kodierung=""gb2312""?><root></root>"
Ende wenn
Sub beenden
Rem speichert die XML-Daten der Sendeanforderung in einer Datei mit dem Namen sendxml_date.txt
Öffentlicher Sub SaveSendXmlDataToFile()
Dimmen Sie Dateiname,str
Dateiname = „sendxml_“ & DateValue(now) & „.txt“
str = ""
str = str & ""& Now() & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
str = str & "<?xml version=""1.0""kodierung=""gb2312""?>" & vbNewLine
str = str & XmlDoc.documentElement.XML & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
str = str & vbNewLine & vbNewLine & vbNewLine
WriteStringToFile Dateiname,str
Sub beenden
Rem speichert die zurückgegebenen XML-Daten in einer Datei mit dem Namen getxml_date.txt
Öffentlicher Sub SaveGetXmlDataToFile()
Dimmen Sie Dateiname,str
Dateiname = „getxml_“ & DateValue(now) & „.txt“
str = ""
str = str & ""& Now() & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
Wenn IsObject(m_GetXmlDoc) Dann
str = str & "<?xml version=""1.0""kodierung=""gb2312""?>" & vbNewLine
str = str & m_GetXmlDoc.documentElement.XML
Anders
str = str & "<?xml version=""1.0"" binding=""gb2312""?>" & vbNewLine & "<root>" & vbNewLine & "</root>"
Ende wenn
str = str & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
str = str & vbNewLine & vbNewLine & vbNewLine
WriteStringToFile Dateiname,str
Sub beenden
'------------------------------------------------ -
'Rufen Sie die Knoteninformationen der zurückgegebenen XML-Datei ab
'XmlClassObj.GetSingleNode("//msg")
'------------------------------------------------ -
Öffentliche Funktion GetSingleNode(nodestring)
Wenn IsObject(m_GetXmlDoc) Dann
GetSingleNode = m_GetXmlDoc.documentElement.selectSingleNode(nodestring).text
Anders
GetSingleNode = ""
Ende wenn
Funktion beenden
''''''''''''''''''Ende des gesendeten XML-Teils
''''''''''''''''''Der empfangende XML-Teil wird gestartet
'------------------------------------------------ -
'XML-Paket empfangen, Fehlerinformationen werden über das Message-Objekt abgerufen
'------------------------------------------------ -
Öffentliche Funktion AcceptHttpData()
XMLdom dimmen
Setze XMLdom = Server.CreateObject("Microsoft.XMLDOM")
XMLdom.Async = Falsch
XMLdom.Load(Anfrage)
Wenn XMLdom.parseError.errorCode <> 0, dann
MessageCode = „Daten konnten nicht korrekt empfangen werden“ & „Descript_ion:“ & XMLdom.parseError.reason & „<br>Line:“ & XMLdom.parseError.Line
Setzen Sie m_XmlDocAccept = Null
Anders
Setzen Sie m_XmlDocAccept = XMLdom
Ende wenn
Endfunktion
'---------------------------------------------- -- ---
'Kehren Sie zurück, um Informationen zum XML-Paketknoten zu erhalten
'XmlClassObj.GetSingleNode("//msg")
'------------------------------------------------ -
Öffentliche Funktion AcceptSingleNode(nodestring)
Wenn IsObject(m_XmlDocAccept) Dann
AcceptSingleNode = m_XmlDocAccept.documentElement.selectSingleNode(nodestring).text
Anders
AcceptSingleNode = ""
Ende wenn
Funktion beenden
'------------------------------------------------ -
'Drucken Sie die vom Empfänger empfangenen XML-Daten
'------------------------------------------------ -
Öffentlicher Sub PrintAcceptXmlData()
Antwort.Klar
Response.ContentType = "text/xml"
Response.CharSet = "gb2312"
Response.Expires = 0
Wenn IsObject(m_XmlDocAccept) Dann
Response.Write "<?xml version=""1.0"" binding=""gb2312""?>"&vbNewLine
Response.Write m_XmlDocAccept.documentElement.XML
Anders
Response.Write „<?xml version=""1.0""kodierung=""gb2312""?><root></root>"
Ende wenn
Sub beenden
Rem speichert die empfangenen XML-Paketdaten in einer Datei mit dem Namen „acceptxml_date.txt“.
Öffentlicher Sub SaveAcceptXmlDataToFile()
Dimmen Sie Dateiname,str
Dateiname = „acceptxml_“ & DateValue(now) & „.txt“
str = ""
str = str & ""& Now() & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
Wenn IsObject(m_XmlDocAccept) Dann
str = str & "<?xml version=""1.0""kodierung=""gb2312""?>" & vbNewLine
str = str & m_XmlDocAccept.documentElement.XML
Anders
str = str & "<?xml version=""1.0"" binding=""gb2312""?>" & vbNewLine & "<root>" & vbNewLine & "</root>"
Ende wenn
str = str & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
str = str & vbNewLine & vbNewLine & vbNewLine
WriteStringToFile Dateiname,str
Sub beenden
''''''''''''''''Empfangen Sie den XML-Teil und beenden Sie
Rem. Speichern Sie die Debugging-Daten in einer Datei mit dem Namen debugnote_date.txt
Öffentlicher Sub SaveDebugStringToFile(debugstr)
Dimmen Sie Dateiname,str
Dateiname = „debugnote_“ & DateValue(now) & „.txt“
str = ""
str = str & ""& Now() & vbNewLine
str = str & "------------------------------ --- "& vbNewLine
str = str & debugstr & vbNewLine
str = str & "------------------------------ --- "
str = str & vbNewLine & vbNewLine & vbNewLine
WriteStringToFile Dateiname,str
End Sub
'Öffentliche Methode endet-----------
Unterricht beenden
%>
filemd5fun.asp
<!--#Include File="xmlcls.asp"-->
<%
Rem ruft den MD5 der Datei ab, der Parameter ist der Dateiname
Funktion GetFileMD5(Dateiname)
Const Apisysno = "k8n6g2b0m1a6b0f6e8" 'Der Schlüsselwert der Schnittstelle sollte konsistent sein, um eine illegale Anwendung der Schnittstelle zu verhindern
DimXmlClassObj
Set XmlClassObj = new XmlClass 'Objekt erstellen
XmlClassObj.LoadXmlFromString("<?xml version=""1.0"" binding=""gb2312""?><root/>") 'Füllen Sie das XMLDOC-Objekt mit XML-Zeichen und verwenden Sie es zum Senden von XML
XmlClassObj.URL = " http://www.shouji138.com/aspnet2/FileMD5.aspx " 'Legen Sie die Antwort-URL fest, die in Ihre URL geändert werden soll
Rem-XML-Format
Rem „<?xml version="1.0"kodierung="gb2312"?>
Rem <root>
Rem <sysno></sysno>
Rem <apiaction></apiaction>
Rem <Dateiname></Dateiname>
Rem </root>
XmlClassObj.NodeValue "sysno",Apisysno,0,False 'Schlüsselwert der Schnittstelle zur Verhinderung illegaler Anwendungen
XmlClassObj.NodeValue "apiaction", "createfilemd5",0,False 'Antwortaktion der Schnittstelle, die zum Definieren einer Schnittstelle für mehrere Zwecke verwendet wird
XmlClassObj.NodeValue "filename",filename,0,False 'Dateipfad und Dateiname, relativen Pfad verwenden'XmlClassObj.SaveSendXmlDataToFile
() 'Speichern Sie das gesendete XML-Datenbankpaket zu Debugzwecken in einer TXT-Datei
XmlClassObj.SendHttpData() 'XML-Daten senden
'XmlClassObj.SaveGetXmlDataToFile() 'Speichern Sie die empfangenen XML-Daten
Rem-Verarbeitungsergebnis
Dimmmeldung, Status
status = XmlClassObj.GetSingleNode("//status") 'Status anzeigen, wenn es OK ist, bedeutet es Erfolg, andernfalls tritt ein Fehler auf
message = XmlClassObj.GetSingleNode("//message") 'Den erhaltenen MD5-Wert anzeigen. Wenn der Status nicht OK ist, handelt es sich bei der Nachricht um eine Fehlermeldung
Setze XmlClassObj = Nothing
Wenn Status = „OK“ Dann
GetFileMD5 = Nachricht
Anders
GetFileMD5 = ""
Ende wenn
Endfunktion
%>
test.asp
<!--#Include File="filemd5fun.asp"-->
<%
Response.Write „Der MD5-Wert von web.config ist:“ & GetFileMD5(“web.config“) & „<br />“
Response.Write „Der MD5-Wert von files/logo-yy.gif ist:“ & GetFileMD5(“files/logo-yy.gif“) & „<br />“
Response.Write „Der MD5-Wert von xmlcls.asp ist:“ & GetFileMD5(“xmlcls.asp“) & „<br />“
%>
.net-Seitencode:
MD5.cs
Verwenden des Systems;
mit System.Collections.Generic;
Verwenden von System.Text;
mit System.IO;
Namespace Winsteps.FileMD5
{
öffentliche Klasse MD5
{
öffentlicher statischer String md5_hash(String-Pfad)
{
versuchen
{
FileStream get_file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
System.Security.Cryptography.MD5CryptoServiceProvider get_md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] hash_byte = get_md5.ComputeHash(get_file);
string resule = System.BitConverter.ToString(hash_byte);
resule = resule.Replace("-", "");
Ergebnis zurückgeben;
}
Catch (Ausnahme e)
{
e.Message zurückgeben;
}
}
}
}
FileMD5.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileMD5.aspx.cs" Inherits="Winsteps.FileMD5.FileMD5" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml " >
<head runat="server">
<title>Mobile-Themen-Website: http://www.shouji138.com</title>
</head>
<Körper>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
FileMD5.aspx.cs
using System;
Verwenden von System.Data;
Verwenden von System.Configuration;
Verwenden von System.Collections;
mit System.Web;
mit System.Web.Security;
mit System.Web.UI;
mit System.Web.UI.WebControls;
mit System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
mit System.Configuration;
Namespace Winsteps.FileMD5
{
öffentliche Teilklasse FileMD5: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sysno = "11111";
string status = „False“;
string message = „Unspezifizierter Fehler“;
string net2sysno = ConfigurationManager.AppSettings["sysno"];
XmlDocument doc = new XmlDocument();
versuchen
{
doc.Load(Request.InputStream);
sysno = doc.SelectSingleNode("//sysno").InnerText.Trim();
if (net2sysno != sysno)
{
message = "Illegale Bewerbung!";
}
anders
{
string filename = Server.MapPath(doc.SelectSingleNode("//filename").InnerText.Trim());
message = MD5.md5_hash(filename);
Status = „OK“;
}
}
Catch (Ausnahme ex)
{
message = ex.Message;
}
Endlich
{
if (doc != null)
doc = null;
}
Response.Clear(); //HTML-Zeichen löschen
Response.ContentType = "text/xml";
Response.Charset = "GB2312";//Wenn die XML-Zeichenfolge Chinesisch enthält
Response.Write("<?xml version="1.0" binding="GB2312"?>");
Response.Write("<root>");
Response.Write(" <status>" + status + "</status>");
Response.Write(" <message>" + message + "</message>");
Response.Write("</root>");
Response.End();
}
}
}
Web.config
<?xml version="1.0"kodierung="utf-8"?>
<Konfiguration>
<appSettings>
<add key="sysno" value="k8n6g2b0m1a6b0f6e8"></add>
</appSettings>
<system.web>
<httpRuntime ExecutionTimeout="3600" maxRequestLength="1048576"/>
<compilation debug="true" defaultLanguage="c#" />
<customErrors mode="Off" />
<identity impersonate="true"/>
<authentication mode="Forms">
<forms name="forums" path="/" loginUrl="Login.aspx" Protection="All" timeout="40">
</forms>
</authentication>
<pages validateRequest="false"></pages>
<globization requestEncoding="gb2312" ResponseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN"/>
</system.web>
</configuration>
Die Sysno von web.config sollte mit der Apisysno in filemd5fun.asp übereinstimmen. Bei bestimmten Anwendungen sollten Sie diesen Schlüssel auf Ihren eigenen Wert ändern, um die Sicherheit zu gewährleisten.
Demo-Adresse: http://www.shouji138.com/aspnet2/filemd5.asp
Obwohl der Code lang ist, ist das Prinzip einfach. ASP sendet XML-Daten an asp.net (die XML-Datei enthält den Dateinamen md5) -> asp.net empfängt die XML-Datei und führt MD5 für die Datei aus -> asp.net gibt zurück Das Ergebnis wird über XML an asp weitergeleitet (Das XML enthält den erhaltenen MD5-Wert) -> ASP ruft das zurückgegebene XML ab und analysiert den MD5-Wert.
Anwendungsbereich:
1. Wenn Sie Dateien zwischen zwei Systemen übertragen, können Sie Datei MD5 vor der Übertragung und Datei MD5 nach der Übertragung ausführen, um zu überprüfen, ob die beiden Werte gleich sind. Dies bedeutet, dass sie während des Übertragungsvorgangs nicht geändert wurden.
2. Wenn es im Upload-System erforderlich ist, dass dieselbe Datei nicht hochgeladen werden kann, kann die MD5 der hochgeladenen Datei in der Datenbank gespeichert werden. Auf diese Weise wird die MD5 beim nächsten Hochladen derselben Datei gespeichert dasselbe und der Upload wird abgelehnt.
3. In Suchmaschinen und der Xunlei B2B-Software werden für Datei-MD5 Dateien mit demselben MD5 als dieselbe Datei betrachtet, unabhängig davon, ob die Dateinamen identisch sind, und Dateien können aus mehreren Quellen gemeinsam genutzt werden.
4. Andere Anwendungen. . . . .
2. ASP implementiert MD5 über COM-Komponenten (die Komponente muss auf dem Server registriert werden),
um eine ASP-Datei zu registrieren. MD5-Komponente, Download-Adresse: DelphiASPObj.in_path=Server.Mappath("Web.config") 'Dateipfad
Response.Write „Der MD5-Wert von web.config ist:“ & DelphiASPObj.get_path_md5 & „<br />“
Stellen Sie DelphiASPObj=nothing ein
%>
3. Vergleich der beiden Möglichkeiten zum Abrufen
der MD5-Datei durch Interaktion mit XML-Daten. Der Server muss asp.net unterstützen asp.net-Umgebung, aber der Preis ist höher;
Die zweite Methode wird durch die Registrierung von COM-Komponenten implementiert, was Serverberechtigungen erfordert und besser für diejenigen geeignet ist, die einen Server besitzen.
Darüber hinaus macht die erste Interaktionsmethode ASP flexibler und kann auf zwei verschiedenen Servern für die Dateninteraktion verwendet werden und ist auf verschiedenen heterogenen Plattformen weit verbreitet.
4. Die Download-Adresse finden Sie auf meiner Website und im mobilen Themennetzwerk, um die Demo anzusehen und die Demo-Adresse des Programmpakets herunterzuladen: http://www.shouji138.com/aspnet2/filemd5.asp
Herunterladen des Programm-Download-Pakets: