欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【防止Access 2000密码被破译的方法】,下面是详细的分享!
防止Access 2000密码被破译的方法
如果你过分信任 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 仅仅是使用“数据库创建日期”来加密用户密码。
应注意的是:上面的“创建日期”只是操作系统级的,也就是 Windows记录在文件夹目录里的信息(根据文件名的长短,每个文件在目录里占用至少32个字节,包括:文件名、属性、文件大小、首蔟号、创建时间、修改时间和访问时间等)。
以上所分享的是关于防止Access 2000密码被破译的方法,下面是编辑为你推荐的有价值的用户互动:
相关问题:如何用密码破译器破译密码?
答:网管员在维护和使用电脑时,经常会遇到各种密码丢失的问题,这里,我们就为广大网管员准备了一些破解密码的方法,但是希望大家不要干坏事哦。开机密码是我们最先要遇到的因此我们就先从CMOS密码破解讲起。虽然CMOS种类各异,但它们的加密方法却... >>详细
相关问题:ACCESS数据库怎么加中文密码?或者有没有防止破译...
答:用ACCESS打开数据库后,菜单栏上“工具"->"安全"->"设置数据库密码" 这个操作需要用独占方式打开数据库 至于防止破译,是道高一尺还是魔高一丈的问题,只能尽可能加强安全性 1. 用复杂密码,比如大小写字母、特殊字符混合,长度长一些 2. 在ACCES... >>详细
相关问题:怎么破译电脑开机密码?怎么防止被别人破解?
答:你现在的电脑应该是2000以上的吧? Windows 2000或XP用的FAT32分区,那么只要直接用启动盘启动系统,进入DOS状态。在DOS提示符下键入:delc:\winnt\system32\config\sam确定后重启计算机,再次进入Windows 2000登录界面时,administrator的... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
