防止access 2000密码被破译的方法--

防止access 2000密码被破译的方法--

ID:23991294

大小:55.00 KB

页数:3页

时间:2018-11-12

防止access 2000密码被破译的方法--_第1页
防止access 2000密码被破译的方法--_第2页
防止access 2000密码被破译的方法--_第3页
资源描述:

《防止access 2000密码被破译的方法--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、防止Access2000密码被破译的方法>>  如果你过分信任Access2000数据库的密码保护,你可能会因此而蒙受损失。这是因为Access2000的数据库级密码并不安全,相反它很脆弱,甚至下面这段非常小的程序就可以攻破它:    程序一(VB6):Access2000密码破译PrivateSubmand1_Click()ConstOffset=H43文件偏移Access数据库从此处开始存放加密密码DimbEmpty(1To2)AsByte,bPass(1To2)AsByteDimiAsInteger,Passpty_DB.md

2、bForBinaryAs#1打开被密码保护的数据库OpenD:VB6_TestMDB_PassdbForBinaryAs#2Seek#1,OffsetSeek#2,OffsetFori=1To20'Access2000数据库密码最长允许20位Get#1,,bEmpty'其中每位密码占两个字节Get#2,,bPass'一个汉字也仅是一位密码,占两个字节If(bEmpty(1)XorbPass(1))<>0ThenPasspty(1)XorbPass(1))'将密码解密EndIfNextClos

3、e1,2MsgBoxPasspty_DB.mdb)。该数据库的创建日期必须与被密码保护的数据库(Pass_Protected_DB.mdb)相一致。换句话说,Access2000仅仅是使用数据库创建日期来加密用户密码。  应注意的是:上面的创建日期只是操作系统级的,也就是TIMEp;H40000000PrivateConstOPEN_EXISTING=3PrivateConstFILE_SHARE_READ=H1PrivateConstFILE_SHARE_E,_ByValNullPAsLong,ByValNullP2AsLong)A

4、sLongPrivateDeclareFunctionSystemTimeToFileTimeLibkernel32_(lpSystemTimeAsSYSTEMTIME,lpFileTimeAsFILETIME)AsLongPrivateDeclareFunctionCreateFileLibkernel32Alias&quo12下一页>>>>这篇文章来自..,。t;CreateFileA_(ByVallpFileNameAsString,ByValdplateFileAsLong)AsLongPrivateDeclareFuncti

5、onCloseHandleLibkernel32(ByValhObjectAsLong)_AsLongPrivateDeclareFunctionLocalFileTimeToFileTimeLibkernel32_(lpLocalFileTimeAsFILETIME,lpFileTimeAsFILETIME)AsLongPrivateSubmand1_Click()DimYearAsInteger,MonthAsInteger,DayAsIntegerDimHourAsInteger,MinuteAsInteger,SecondAs

6、IntegerDimTimeStampAsVariant,FilenameAsString,XAsIntegerYear=2001:Month=3:Day=13'准备设定的创建日期Hour=12:Minute=0:Second=26TimeStamp=DateSerial(Year,Month,Day)+TimeSerial(Hour,Minute,Second)Filename=D:VB6_TestMDB_Passdb'目标文件名X=ModifyFileStamp(Filename,TimeStamp)EndSubF

7、unctionModifyFileStamp(FilenameAsString,TimeStampAsVariant)AsIntegerDimXAsLong,HandleAsLong,System_TimeAsSYSTEMTIMEDimFile_TimeAsFILETIME,Local_TimeAsFILETIMESystem_Time.eStamp):System_Time.eStamp)System_Time.eStamp)System_Time.eStamp)-1System_Time.eStamp):System_Time.e

8、Stamp)System_Time.TimeToFileTime(System_Time,Local_Time)X=LocalFileTimeToFileTime(Local_Time,File_Time)'转换

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。