ACCESS数据库加密方法(转)

<%
'本程序是翟振恺(小琦)原创的,现在我免费发布出来,请转用或转载时不要把版权去掉。
'本程序是针对不能用组件加密asp的用户写的,应该可以有效的保护ACCESS数据。
'QQ:53353866 22336848
'个人站:http://www.xiaoqi.net    
'技术站:http://www.iisvs.net
'商业站:http://www.iisvs.com
if Request("mdbname")<>"" then
'------------------------取磁盘序列号'-----------------作者:翟振恺(小琦) iisvs.com
set fs=server.createObject("scripting.filesystemobject")
testDrive="G:\"
set f=fs.getdrive(testDrive)
''调用GetDrive方法,将驱动器赋予一个变量
xlh=trim(f.serialnumber) '取到磁盘序列号
'-------------------------取绑定的网站地址'-----------------作者:翟振恺(小琦) iisvs.com
myname=Request.ServerVariables("SERVER_NAME")'我绑定我的主机名
'-------------------------取二进制数据'-----------------作者:翟振恺(小琦) iisvs.com
url=server.MapPath(".")&"\www.xiaoqi.net" '取一个exe文件或其它的文件作为提供加密的文件,为了安全,你可以把这个文件放到别人下载不到的地方。
Set  fso=Server.CreateObject("Scripting.FileSystemObject")  
Set  fl=fso.getfile(url)  
flsize=fl.size  
flName=fl.name  
Set  objStream  =  Server.CreateObject("ADODB.Stream")  
objStream.Open  
objStream.Type  =  1  
objStream.LoadFromFile url
Password=objStream.Read'二进制数据
Password=left(Password,4)&right(xlh,3)&myname'数据库密码用二进制数据+磁盘序列号+绑定的网站地址
Password=left(Password,19)'ACCESS数据库密码好像最多20个字符,我用了19个
db="xq.mdb"
SavePath=Server.MapPath(".")
'-----------------------------------------作者:翟振恺(小琦) iisvs.com
    Application.Contents.RemoveAll()
    
    Dim fs, Engine
    Set fs = CreateObject("Scripting.FileSystemObject")
    mdbname = Request("mdbname")
    If fs.FileExists(Server.Mappath(mdbname)) Then
        Set Engine = CreateObject("JRO.JetEngine")
'----------------------------------------------------改数据库密码    
if request("dz")=1 then    
Engine.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")
else
Engine.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")
end if
'----------------------------------------------------改数据库密码        
        fs.CopyFile Server.Mappath(mdbname & ".temp"),Server.Mappath(mdbname)
        fs.DeleteFile(Server.Mappath(mdbname & ".temp"))
        Set fs = Nothing
        Set Engine = nothing
        if request("dz")=1 then    
        Response.write "

数据库加密成功!..."
        Else
        Response.write "

数据库解密成功!..."
        end if

    Else        
        Set fs = Nothing
        Response.Write "



数据库名称或路径不正确. 压缩失败!" & vbCrLf
    End If
end if
%>


    

加密解密码数据库


    

数据库名


    

加密
    解密


    






测试数据库连接

<%
db="测试.mdb"
%><%
'------------------------取磁盘序列号----------------------------小琦
set fs=server.createObject("scripting.filesystemobject")
testDrive="G:\"
set f=fs.getdrive(testDrive)
''调用GetDrive方法,将驱动器赋予一个变量
xlh=trim(f.serialnumber) '取到磁盘序列号
'-------------------------取绑定的网站地址---------------------------小琦
myname=Request.ServerVariables("SERVER_NAME")'我绑定我的主机名
'-------------------------取二进制数据---------------------------小琦
url=server.MapPath(".")&"\www.xiaoqi.net" '取一个exe文件或其它的文件作为提供加密的文件,为了安全,你可以把这个文件放到别人下载不到的地方。
Set  fso=Server.CreateObject("Scripting.FileSystemObject")  
Set  fl=fso.getfile(url)  
flsize=fl.size  
flName=fl.name  
Set  objStream  =  Server.CreateObject("ADODB.Stream")  
objStream.Open  
objStream.Type  =  1  
objStream.LoadFromFile url
Password=objStream.Read'二进制数据
Password=left(Password,4)&right(xlh,3)&myname'数据库密码用二进制数据+磁盘序列号+绑定的网站地址
Password=left(Password,19)'ACCESS数据库密码好像最多20个字符,我用了19个
%><%
dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="&Password&";Data Source=" & server.MapPath(db)
set rs = conn.execute("select * from [test] order by id desc ")
response.write rs("name")
conn.close
conn=noting
%>

上一篇: FCKEDITOR配置中文解释
下一篇: 白河子图书查询系统1.0
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 2421
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 300 字 | UBB代码 开启 | [img]标签 关闭