开发原因---- 由于现在数据资料的不安全性,各个公司已经纷纷使用了数据封装加密手段,常用的是用vb做成2进制的dll组件,这样即使反编译了,也只能得到类名,方法名,具体内容还是加密的,加强了数据安全性! 实现=======> 1:打开vb,新建 ActiveX DLL工程
2:点击 工程-引用-构选--> Microsoft Active Server Pages Object Library 如果要使用数据库。就要用ADO对象支持的下面的引用 Microsoft ActiveX Data Objects 2.6 Library 为了方便使用asp中的6大对象,我们要在dll文件里首先写入下面的一段话 '注示:下面语句是必须的,将原本的对象作了简化处理,并在两个基本函数中作了处理 Dim rp As Response Dim rq As Request Dim ap As Application Dim sr As Server Dim sn As Session Dim a As Integer
Public Sub OnStartPage(MyScriptingContext As ScriptingContext) Set rp = MyScriptingContext.Response Set rq = MyScriptingContext.Request Set sr = MyScriptingContext.Server Set ap = MyScriptingContext.Application Set sn = MyScriptingContext.Session End Sub
Public Sub OnEndPage() Set rp = Nothing Set rq = Nothing Set sr = Nothing Set ap = Nothing Set sn = Nothing End Sub
'注示:下面这个函数是处理前半部分字符串的,直接返回这个字符串的内容 Public Function ConnectDB() As Variant ConnectDB = "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" End Function
'注示:另外定义下面这个函数来处理后半部分内容 Public Function DBPath() As Variant DBPath = sr.MapPath("DB.asp") End Function
'注示:下面的方法用作其他功能调用 Public Function Abc() As Variant '方法返回类型是Variant(随意) Abc = "123" '将字符串赋值给方法返回值,返回值为方法名 End Function
4:点击 运行-全编译执行,如果没有问题则,点击 文件-生成dll文件 5:得到dll文件后,将其拷贝到C:\WINDOWS\system32下在注册 C:\WINDOWS\system32>regsvr32 xn.dll 提示成功 6:编写ASP文件 例子<1>做数据库的调用 <% dim ProConn set ProConn=Server.CreateObject("ADODB.CONNECTION") Dim ConDB
'注示:set ConDB= server.createobject("工程名称.类名称") set ConDB=Server.CreateObject("ConDBDLL.Conn") '注示:ConDB就是创建的DLL对象
Dim StrConn '注示:定义一个字符串接收对象.方法()的放回值 StrConn = ConDB.ConnectDB() & ConDB.DBPath() '注示:连接两部分内容组成字符串 ProConn.Open StrConn '注示:执行数据库对象操作 %>
例子<2>其他功能的使用,主要用来封装参数 <% set zujian = server.createobject("xn123.cs") Dim aaa aaa=zujian.Abc Response.Write(aaa) set zujian=Nothing %> '注示:结果封装的数据给了变量aaa,输出了123
DLL文件注册/卸载方法=================== 注册:regsvr32 XXX.dll 卸载:regsvr32 /u XXX.dll ============================= 特别注意:dll文件发生改动后必须重启IIS才可以生效
|