關於加密:
我們有時在開啟一個Access資料庫時,往往會發現開啟時彈出這樣的一個視窗
,這是需要我們輸入資料庫密碼,可密碼我們是怎樣加上去的呢?
首先開啟Access,在功能表列裡點開啟,找到你要選擇加密的資料庫,選中後,在開啟按鈕右下方選擇以獨佔方式開啟,
;這樣就可以為該資料庫加密了。
關於解密:
原理:首先,我們要瞭解Access資料庫的加密方法。Access資料庫的有效密碼為13位,在不加密時,資料庫的第67至79位為一固定的字串,每位的ASCII碼值分別為86,FBEC37,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 source12 As Byte
Dim i As Integer
source0 = &H86
source1 = &HFB
source2 = &HEC
source3 = &H37
source4 = &H5D
source5 = &H44
source6 = &H9C
source7 = &HFA
source8 = &HC6
source9 = &H5E
source10 = &H28
source11 = &HE6
source12 = &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 = sourcei Then Exit For
password = password & Chrtemp Xor sourcei
Next
Close #1
If Lenpassword = 0 Then
Text1.Text = ″該資料庫沒有加密!″
Else
Text1.Text = ″該資料庫的密碼為:″ + password
End If
End Sub。
好了,關於解密上面的原理我們根本不用過多瞭解,如果單純為瞭解密的話,一個小工具就可以輕鬆搞定。
點擊下載 AccessPassView_v1.12.exe
=======================================================================