当前位置:51VIP源码软件音乐小游戏下载联盟网络学院网络编程ASP技巧 → 用asp获取文件md5值

用asp获取文件md5值

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-9-2 2:04:07 我要发布文章

            Response.ContentType = "text/xml";
            Response.Charset = "GB2312";//如果xml字符串中包含中文
            Response.Write("<?xml version=\"1.0\" encoding=\"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" encoding="utf-8"?>
<configuration>
  <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>
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" uiCulture="zh-CN"/>
  </system.web>
</configuration>


web.config的sysno要跟filemd5fun.asp里面的Apisysno保持一致,具体应用时应该要把这个key改成你自己的值来保证安全。
演示地址:http://www.shouji138.com/aspnet2/filemd5.asp
代码虽然长,但是原理简单,asp发送xml数据给asp.net(xml中包含了要md5的文件名)->asp.net接收xml对文件进行md5->asp.net将结果通过xml返回给asp(xml中包含了获取到的md5值)->asp获取返回的xml,解析出md5值。
应用范围:
1. 在两个系统之间传送文件时,可以在传送前进行文件md5,传送后进行文件md5,检查两值是否相等,如果相等则表示在传送过程中没有被修改。
2. 做上传系统中,如果要求不能上传同文件的话,可以在上传之后的文件进行md5存入数据库中,这样下次上传同样文件,则md5会相同,拒绝上传。
3. 在搜索引擎、迅雷本b2b软件中,对文件md5,具有相同md5的文件被认为是相同文件,而不管文件名是否相同,可以从多个源来分享文件。
4. 其他应用。。。。。


二、asp通过COM组件实现md5(需要在服务器上注册组件)

注册一个asp的文件md5组件,下载地址:http://www.shouji138.com/aspnet2/files/aspmd5.rar

然后将PARmf.dll文件拷贝到服务器的c:\WINDOWS\system32目录,运行regsvr32 parmf.dll进行注册,重启IIS。

调用代码:
<%
Set DelphiASPObj = Server.CreateObject("PARmf.md5file")
   DelphiASPObj.in_path=Server.Mappath("Web.config")      '文件路径
   Response.Write "web.config的md5值是:" & DelphiASPObj.get_path_md5  & "<br />"
   Set DelphiASPObj=nothing
%>

三、两种方式获取文件md5的对比

第一种方法通过与asp.net程序交互xml数据来得到文件的md5,需要服务器支持asp.net,一般的虚拟主机都提供asp.net环境,但是价格高点;
第二种方法通过注册COM组件实现,需要有服务器的权限,对于拥有服务器的比较合适。
另外第一种方式的这种交互方法使得asp具有更大的灵活性,可以应用在2台不同的服务器上面进行数据交互,可广泛应用于各种异构平台。

 
四、下载地址
请到偶的小站,手机主题网查看演示和下载程序
演示地址:http://www.shouji138.com/aspnet2/filemd5.asp
程序下载打包下载http://www.shouji138.com/aspnet2/files/FileMD5.rar
asp的文件md5组件:http://www.shouji138.com/aspnet2/files/aspmd5.rar

上一页  [1] [2] [3] [4]