我自己原创的asp数据库加密方法。献给落伍的所有朋友!!!

 1   
 2'本程序是翟振恺(小琦)原创的,现在我免费发布出来,请转用或转载时不要把版权去掉。   
 3'本程序是针对不能用组件加密asp的用户写的,应该可以有效的保护ACCESS数据。   
 4'www.xiaoqi.net   
 5'QQ:22336848   
 6  
 7if Request("mdbname")<>"" then   
 8  
 9'------------------------取磁盘序列号----------------------------小琦   
10set fs=server.createObject("scripting.filesystemobject")   
11testDrive="G:\"   
12set f=fs.getdrive(testDrive)   
13''调用GetDrive方法,将驱动器赋予一个变量   
14  
15xlh=trim(f.serialnumber) '取到磁盘序列号   
16  
17'-------------------------取绑定的网站地址---------------------------小琦   
18myname=Request.ServerVariables("SERVER_NAME")'我绑定我的主机名   
19  
20'-------------------------取二进制数据---------------------------小琦   
21url=server.MapPath(".")&"\\[url]www.xiaoqi.net[/url]" '取一个exe文件或其它的文件作为提供加密的文件,为了安全,你可以把这个文件放到别人下载不到的地方。   
22Set fso=Server.CreateObject("Scripting.FileSystemObject")   
23Set fl=fso.getfile(url)   
24flsize=fl.size   
25flName=fl.name   
26Set objStream = Server.CreateObject("ADODB.Stream")   
27objStream.Open   
28objStream.Type = 1   
29objStream.LoadFromFile url   
30Password=objStream.Read'二进制数据   
31Password=left(Password,4)&right(xlh,3)&myname'数据库密码用二进制数据+磁盘序列号+绑定的网站地址   
32Password=left(Password,19)'ACCESS数据库密码好像最多20个字符,我用了19个   
33db="xq.mdb"   
34SavePath=Server.MapPath(".")   
35'----------------------------------------------------小琦   
36Application.Contents.RemoveAll()   
37  
38Dim fs, Engine   
39Set fs = CreateObject("Scripting.FileSystemObject")   
40mdbname = Request("mdbname")   
41If fs.FileExists(Server.Mappath(mdbname)) Then   
42Set Engine = CreateObject("JRO.JetEngine")   
43'----------------------------------------------------改数据库密码   
44if request("dz")=1 then   
45Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(mdbname), "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="&Password&";Data Source=" & Server.Mappath(mdbname & ".temp")   
46else   
47Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="&Password&";Data Source=" & Server.Mappath(mdbname), "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(mdbname & ".temp")   
48end if   
49'----------------------------------------------------改数据库密码   
50fs.CopyFile Server.Mappath(mdbname & ".temp"),Server.Mappath(mdbname)   
51fs.DeleteFile(Server.Mappath(mdbname & ".temp"))   
52Set fs = Nothing   
53Set Engine = nothing   
54if request("dz")=1 then   
55Response.write "

<p><font color="#FF0000">数据库加密成功!...</font>"
Else
Response.write "<p><font color="#FF0000">数据库解密成功!...</font>"
end if

Else
Set fs = Nothing
Response.Write "<p><br/><br/>数据库名称或路径不正确. 压缩失败!" &amp; vbCrLf
End If

end if

1  
2<form action="--WEBBOT-SELF--" method="POST">
3<p><b>加密解密码数据库</b></p>
4<p><input name="mdbname" size="20" type="text" value="测试.mdb"/> 数据库名</p>
5<p><input checked="" name="dz" type="radio" value="1"/>加密   
6<input name="dz" type="radio" value="2"/>解密</p>
7<p><input name="B1" type="submit" value="提交"/><input name="B2" type="reset" value="重置"/></p>
8</form></p></p></p>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus