程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 在Access數據庫中實現密碼管理

在Access數據庫中實現密碼管理

編輯:關於Access數據庫

[導讀]大家都知道,數據庫的安全性是很重要的,它直接影響到數據庫的廣泛應用。用戶可以采用任意一種方法來保護數據庫應用程序,也可以將幾種方法結合起來使用。利用Access數據庫自身提供的加密功能及其他保護方法是很容易的,我就不多說了。在Access數據庫中,嵌入了一種很強的數據庫操作語言——Visual Basic語言,所以可以采用

大家都知道,數據庫的安全性是很重要的,它直接影響到數據庫的廣泛應用。用戶可以采用任意一種方法來保護數據庫應用程序,也可以將幾種方法結合起來使用。利用Access數據庫自身提供的加密功能及其他保護方法是很容易的,我就不多說了。在Access數據庫中,嵌入了一種很強的數據庫操作語言——Visual Basic語言,所以可以采用Visual Basic編寫程序,來實現一些復雜的功能。下面將介紹如何在Visual Basic程序中實現加密功能,以確保數據的安全性。

對於一些公司來說,職員的工資管理是一個不大不小的問題。有時,領導需要了解一段時間內每個職員的收入如何,以便掌握各項獎金的發放情況。為此,我設計了一個“工資管理”數據庫,可以按時間進行查詢,並根據所選的工資類別進行統計。為了防止其他人查看此數據庫,我采用“獨占”方式給數據庫設置了密碼。這種方法也有一定的局限性,如果用戶恰巧提供了正確的數據庫密碼,該方法就不能控制用戶對數據庫進行操作。

為了進一步防止職員查看工資的統計結果(即有些獎金並不是公開的,除領導以外的其他人不應該知道工資數目),我又創建了一個密碼表,設置好密碼,記住並將其隱藏起來(先選中“密碼表”,再單擊“窗口”菜單中的“隱藏”命令,即可把此表隱藏起來)。然後,在“職工工資對話框”窗體中,添加“密碼”文本框,並在“預覽”及“打印”的事件過程中加入下列語句:

DoCmd.ApplyFilter , "密碼 = Forms!

職工工資對話框!PassText"

If Not IsNull([密碼]) Then

/*其他代碼*/

Else

MsgBox "請輸入正確的密碼!"

PassText.SetFocus

End If

/*其他代碼*/

這樣,就實現了雙重加密功能。即使用戶能進入數據庫,如果第二次沒有提供正確的密碼,他也不能預覽和打印一定時間范圍的統計結果。這就進一步限制了用戶的非授權訪問。

為了提高數據庫的安全性,每隔一段時間都應更改密碼。為此,在“職工工資對話框”窗體中,我又添加了一個“更改密碼”子窗體,在此窗體中加入下列代碼,即可隨時更改密碼:

Private Sub確定_Click()

On Error GoTo Err_確定_Click

DoCmd.ApplyFilter , "密碼

= Forms!更改密碼!Text1"

If IsNull([密碼]) Then

MsgBox ("密碼不正確,請再輸入一次")

Text1.SetFocus

GoTo Exit_確定_Click:

End If

If Text3.Value $#@60; $#@62; Text2.Va Then

Text3.SetFocus

MsgBox ("請輸入正確的確認密碼")

Else:

密碼 = Text3.Value

DoCmd.Close

End If

Exit_確定_Click:

Exit Sub

Err_確定_Click:

MsgBox Err.Description

Resume Exit_確定_Click

End Sub

更改密碼後,應記住此密碼,以備以後使用。

設計好程序,並將有關代碼隱藏起來(與隱藏“表”的方法相同),以防其他人修改或偷看。這裡介紹的方法只是在程序中實現加密功能的一個小技巧,在其他數據庫管理中,也可采用此方法進行加密。也許存在更為簡潔的方法,有待大家在編程過程中發掘出來並互相交流。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved