| 网站首页 | 建站学院 | 资源下载 | 建站教程 | 图片素材 | 网贝社区 | 
您现在的位置: 网贝建站 >> 建站学院 >> ASP技术 >> 安全加密 >> 正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
小琦的原创asp数据库加密方法       ★★★★
小琦的原创asp数据库加密方法
作者:小琦 文章来源:www.xiaoqi.net 点击数: 更新时间:2005-5-13 1:07:30

<%
'本程序是翟振恺(小琦)原创的,现在我免费发布出来,请转用或转载时不要把版权去掉。
'本程序是针对不能用组件加密asp的用户写的,应该可以有效的保护ACCESS数据。
'www.xiaoqi.net
'QQ:22336848

if Request("mdbname")<>"" then

'------------------------取磁盘序列号----------------------------小琦
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个
 db="xq.mdb"
 SavePath=Server.MapPath(".")
'----------------------------------------------------小琦
 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 "<p><font color=#FF0000>数据库加密成功!...</font>"
  Else
  Response.write "<p><font color=#FF0000>数据库解密成功!...</font>"
  end if
 
 Else  
  Set fs = Nothing
  Response.Write "<p><br><br>数据库名称或路径不正确. 压缩失败!" & vbCrLf
 End If


end if
%>

<form method="POST" action="access_bak.asp" webbot-action="--WEBBOT-SELF--">
 <p><b>加密解密码数据库</b></p>
 <p><input type="text" name="mdbname" size="20" value="测试.mdb"> 数据库名</p>
 <p><input type="radio" value="1" name="dz" checked>加密
 <input type="radio" value="2" name="dz">解密</p>
 <p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
</form>


 

[1] [2] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)