VB5.0中完成系統登錄
發表時間:2023-08-14 來源:明輝站整理相關軟件相關文章人氣:
[摘要]---- 一般進入系統都要登錄(如進入Windows NT),進行身份檢驗,以保證軟件的合法使用和維護,便于明確責任。我們自己開發的系統也必須保證系統使用者是合法用戶,登錄時要進行身份驗證。 ---...
---- 一般進入系統都要登錄(如進入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 Then
If times < 3 Then
Picture1.Picture = LoadPicture("trffc10c.ico")
MsgBox "無此用戶,請重新輸入!",
vbExclamation + vbOKOnly,"提示信息"
Picture1.Picture = LoadPicture("trffc09.ico")
txt_bh.SetFocus
Call txt_bh_GotFocus
Exit Sub
Else
MsgBox "對不起,您無權使用本系統
," + 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 If
MsgBox "對不起,您無權使用本系統,
" + vbCrLf + vbCrLf + " 請與系統管理員聯系! ",
vbCritical + vbOKOnly, "提示信息"
End
End If
End Sub
---- 由于一般系統用戶有多個,所以必須設置多用戶。通常用戶名和對應密碼以數據庫的形式保存。但數據庫極易暴露,可直接通過打開數據庫而獲取用戶名和密碼,安全性不好,所以應進行加密工作--保存在數據庫中的密碼與登錄時輸入的密碼不一樣,保存時進行加密,登錄時進行解密。這樣,即使看到了數據庫內容,如果不知道解密過程也無法進入系統。
---- 一個比較簡單的加密過程如下:
Public Function invert(passw As String)
Dim i As Integer
Dim Temp As String
Temp = ""
For i = Len(passw) To 1 Step -1
Temp = Temp + Mid(passw, i, 1)
Next i
invert = Temp
End Function
---- 至此一個簡單的系統登錄過程就實現了。