照清

用勤奋之这石,补能力之缺口!

导航

关于CAB在ASP内的调用与使用

Posted on 2008-06-06 15:41  照清  阅读(1156)  评论(2)    收藏  举报
具体代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% on error resume next%>
<!--#include file="../Connections/ds.asp" -->
<!--#include file="../Connections/informix.asp" -->

<html>
<head>
<title>*********title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../css/css1.css" type="text/css">
</head>
<body>
<OBJECT id=htactx name=htactx
classid=clsid:FB4EE423-43A4-4AA9-BDE9-4335A6D3C74E codebase="../js/HTActX.cab#version=1,0,0,1" style="HEIGHT: 0px; WIDTH: 0px"></OBJECT>
'在此对CAB包进行应用以后,在下面的代码中进行调用,但总是有问题出现,错误代号为:424(缺少对象)
<%

'启用USBkey进行验证

dim SubmitTm
dim ReceiveTm
dim y
dim m
dim d
dim h
dim n
dim se
Dim FirstDigest
Dim Digest
dim EnData
Digest= "01234567890123456"
'dim htactx
'set htactx = CreateObject("HTSrvActX.HTSrvActXCtrl")
dim LibVer
 LibVer = htactx.GetLibVersion
 If Err.number <> 0 Then
   ' response.Write(err.number)
    response.write "<script language=javascript> alert('加载客户端控件失败!');history.go(-1);</script>"
       response.end
 else
 dim hCard
  hCard = 0 
  hCard = htactx.OpenDevice(1)'打开设备
  If Err.number<>0 or hCard = 0 then
   response.Write(err.number)
  response.write "<script language=javascript> alert('打开硬件锁失败!');history.go(-1);</script>"
        response.end
  end if
  dim UserName
  UserName = htactx.GetUserName(hCard)'获取用户名
  if id<>UserName then
  response.write "<script language=javascript> alert('您输入的登录编号与锁不一致,请核查!');history.go(-1);</script>"
        response.end
  end if
  Digest = htactx.HTSHA1(Rnddata,lRndLen)'SHA1数据
  if Err.number<>0 then
  response.write "<script language=javascript> alert('USB安全锁数据加密失败!');history.go(-1);</script>"
        response.end
  htactx.CloseDevice hCard
  end if
  Digest = Digest&"04040404"'对SHA1数据进行补码
  EnData = htactx.HTCrypt(hCard,0 ,0,Digest, len(Digest))'DES3加密SHA1后的数据
  If Err.number<>0 Then
  response.write "<script language=javascript> alert('HashToken compute!');history.go(-1);</script>"
        response.end
  htactx.CloseDevice hCard
  end if
  htactx.CloseDevice hCard
    end if
 dim obj
 dim PasswordInFile,UserNameInFile
 PasswordInFile=rs1("usbkey")
 UserNameInFile=rs1("gys")
   set obj = CreateObject("HTSrvActX.HTSrvActXCtrl")
   Digest = obj.HTSrvSHA1(Rnddata, len(Rnddata))
   Digest = Digest&"04040404"
   ServerEncData = obj.HTSrvCrypt(0, PasswordInFile,len(PasswordInFile),0, Digest, len(Digest))
   if UCase(ServerEncData)= UCase(EndData) and UCase(UserNameInFile) = UCase(UserName) Then
   session("userID")=rssql2("gys")
            session("name")=rssql2("gysname")
            session("userclass")=1
            response.redirect "../default.asp"
   else
   response.write "<script language=javascript> alert('Anknow Error Happend!');history.go(-1);</script>"
            response.end
   end if

  end if
%>
</body>
</html>


Hellow!