Access数据库的加密与解密

关于加密:
我们有时在打开一个Access数据库时,往往会发现打开时弹出这样的一个窗口
,这是需要我们输入数据库密码,可密码我们是怎样加上去的呢?

首先打开Access,在菜单栏里点打开,找到你要选择加密的数据库,选中后,在打开按钮右下方选择以独占方式打开,如图:
;这样就可以为该数据库加密了。

关于解密:
原理:首先,我们要了解Access数据库的加密方法。Access数据库的有效密码为13位,在不加密时,数据库的第67至79位为一固定的字符串,每位的ASCII码值分别为86,FBEC37,5D,44,9C,FA,C6,5E,28,E6,13。加密时,分别用密码的每一位与67至79位的字符的ASCII码值进行异或运算,得到的一个新字符串,将它写回67至79位。    
  知道了加密方法,解密就比较容易了。将67至79位的字符的ASCII码值分别与“86,FB,EC,37,5D,44,9C,FA,C6,5E,28,E6,13”进行异或运算,即可得到密码。    
  下面我们用VB编个小程序,来实现Access数据库的解密。请在窗体上放置一个通用对话框控件Commondialog1,其Firlter属性设为“Access数据库文件.mdb”;文本框控件Text1,命令控件Command1,其Caption属性设为“取得密码”。代码如下:     
  Option   Explicit    
  Private   Sub   Command1_Click    
  Dim   password   As   String    
  Dim   temp   As   Byte    
  Dim   source12   As   Byte    
  Dim   i   As   Integer    
  source0   =   &H86    
  source1   =   &HFB    
  source2   =   &HEC    
  source3   =   &H37    
  source4   =   &H5D    
  source5   =   &H44    
  source6   =   &H9C    
  source7   =   &HFA    
  source8   =   &HC6    
  source9   =   &H5E    
  source10   =   &H28    
  source11   =   &HE6    
  source12   =   &H13     
  CommonDialog1.ShowOpen    
  If   CommonDialog1.FileName   =   ″″   Then   Exit   Sub    
  Open   CommonDialog1.FileName   For   Binary   As   #1    
  For   i   =   0   To   12    
  Get   #1   67   +   i   temp    
  If   temp   =   sourcei   Then   Exit   For    
  password   =   password   &   Chrtemp   Xor   sourcei    
  Next    
  Close   #1    
  If   Lenpassword   =   0   Then    
  Text1.Text   =   ″该数据库没有加密!″    
  Else    
  Text1.Text   =   ″该数据库的密码为:″   +   password    
  End   If    
  End   Sub。 
 
好了,关于解密上面的原理我们根本不用过多了解,如果单纯为了解密的话,一个小工具就可以轻松搞定。
                                                             点击下载 AccessPassView_v1.12.exe
=======================================================================
原文地址:https://www.cnblogs.com/yan2007/p/1190224.html