top
Loading...
VB5.0中實現系統登錄
p>---- 一般進入系統都要登錄(如進入Windows NT),進行身份檢驗,以保證軟件的合法使用和維護,便于明確責任。我們自己開發的系統也必須保證系統使用者是合法用戶,登錄時要進行身份驗證。

---- 系統登錄時一般有三次機會,超過則視為非法用戶,不讓使用系統。本程序是用VB5.0實現的,后臺數據庫是Access 97。

其主要源程序代碼如下:Private Sub cmd_yes_Click()開始檢驗Picture1.Picture = LoadPicture("trffc10b.ico") times = times + 1 解密txt_mm.Text = invert(txt_mm.Text)查找用戶名ordc_dlmmk.Recordset.FindFirst "username=" & txt_bh.Text & "" If ordc_dlmmk.Recordset.NoMatch ThenIf times < 3 ThenPicture1.Picture = LoadPicture("trffc10c.ico")MsgBox "無此用戶,請重新輸入!",vbExclamation + vbOKOnly,"提示信息"Picture1.Picture = LoadPicture("trffc09.ico")txt_bh.SetFocusCall txt_bh_GotFocusExit SubElseMsgBox "對不起,您無權使用本系統," + vbCrLf + vbCrLf + " 請與系統管理員聯系! ", vbCritical + vbOKOnly, "提示信息"End End If End If If times < 3 Then If Not (UCase(txt_mm.Text) = UCase(Text2.Text)) Then txt_mm.Text = invert(txt_mm.Text) Picture1.Picture = LoadPicture("trffc10c.ico") MsgBox "用戶密碼錯誤,請重新輸入!", vbExclamation, "提示信息" Picture1.Picture = LoadPicture("trffc09.ico") txt_mm.SetFocus Call txt_mm_GotFocus Exit Sub Else Picture1.Picture = LoadPicture("trffc10a.ico") MsgBox "歡迎您使用本系統!", vbInformation, "提示信息" Unload Me frm_welcome.Show End If ElseIf times = 3 Then If UCase(txt_mm.Text) = UCase(Text2.Text) Then Picture1.Picture = LoadPicture("trffc10a.ico") MsgBox "歡迎您使用本系統!", vbInformation, "提示信息" Unload Me frm_welcome.Show Exit Sub End IfMsgBox "對不起,您無權使用本系統," + vbCrLf + vbCrLf + " 請與系統管理員聯系! ", vbCritical + vbOKOnly, "提示信息" End End IfEnd Sub

---- 由于一般系統用戶有多個,所以必須設置多用戶。通常用戶名和對應密碼以數據庫的形式保存。但數據庫極易暴露,可直接通過打開數據庫而獲 沒兔藶耄踩圓緩茫雜屑用芄ぷ?--保存在數據庫中的密碼與登錄時輸入的密碼不一樣,保存時進行加密,登錄時進行解密。這樣,即使看到了數據庫內容,如果不知道解密過程也無法進入系統。

---- 一個比較簡單的加密過程如下:

Public Function invert(passw As String)Dim i As IntegerDim Temp As String Temp = "" For i = Len(passw) To 1 Step -1 Temp = Temp + Mid(passw, i, 1) Next i invert = TempEnd Function

---- 至此一個簡單的系統登錄過程就實現了。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗