明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

VB5.0中完成系統(tǒng)登錄

[摘要]---- 一般進(jìn)入系統(tǒng)都要登錄(如進(jìn)入Windows NT),進(jìn)行身份檢驗(yàn),以保證軟件的合法使用和維護(hù),便于明確責(zé)任。我們自己開發(fā)的系統(tǒng)也必須保證系統(tǒng)使用者是合法用戶,登錄時(shí)要進(jìn)行身份驗(yàn)證。 ---...
---- 一般進(jìn)入系統(tǒng)都要登錄(如進(jìn)入Windows NT),進(jìn)行身份檢驗(yàn),以保證軟件的合法使用和維護(hù),便于明確責(zé)任。我們自己開發(fā)的系統(tǒng)也必須保證系統(tǒng)使用者是合法用戶,登錄時(shí)要進(jìn)行身份驗(yàn)證。

---- 系統(tǒng)登錄時(shí)一般有三次機(jī)會(huì),超過則視為非法用戶,不讓使用系統(tǒng)。本程序是用VB5.0實(shí)現(xiàn)的,后臺(tái)數(shù)據(jù)庫是Access 97。

其主要源程序代碼如下:
Private Sub cmd_yes_Click()
'開始檢驗(yàn)
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 "無此用戶,請(qǐng)重新輸入!",
vbExclamation + vbOKOnly,"提示信息"
Picture1.Picture = LoadPicture("trffc09.ico")
txt_bh.SetFocus
Call txt_bh_GotFocus
Exit Sub
Else
MsgBox "對(duì)不起,您無權(quán)使用本系統(tǒng)
," + vbCrLf + vbCrLf + " 請(qǐng)與系統(tǒng)管理員聯(lián)系! ",
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 "用戶密碼錯(cuò)誤,請(qǐng)重新輸入!",
vbExclamation, "提示信息"
Picture1.Picture = LoadPicture("trffc09.ico")
txt_mm.SetFocus
Call txt_mm_GotFocus
Exit Sub
Else
Picture1.Picture = LoadPicture("trffc10a.ico")
MsgBox "歡迎您使用本系統(tǒng)!", 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 "歡迎您使用本系統(tǒng)!", vbInformation, "提示信息"
Unload Me
frm_welcome.Show
Exit Sub
End If
MsgBox "對(duì)不起,您無權(quán)使用本系統(tǒng),
" + vbCrLf + vbCrLf + " 請(qǐng)與系統(tǒng)管理員聯(lián)系! ",
vbCritical + vbOKOnly, "提示信息"
End
End If
End Sub

---- 由于一般系統(tǒng)用戶有多個(gè),所以必須設(shè)置多用戶。通常用戶名和對(duì)應(yīng)密碼以數(shù)據(jù)庫的形式保存。但數(shù)據(jù)庫極易暴露,可直接通過打開數(shù)據(jù)庫而獲取用戶名和密碼,安全性不好,所以應(yīng)進(jìn)行加密工作--保存在數(shù)據(jù)庫中的密碼與登錄時(shí)輸入的密碼不一樣,保存時(shí)進(jìn)行加密,登錄時(shí)進(jìn)行解密。這樣,即使看到了數(shù)據(jù)庫內(nèi)容,如果不知道解密過程也無法進(jìn)入系統(tǒng)。

---- 一個(gè)比較簡(jiǎn)單的加密過程如下:

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

---- 至此一個(gè)簡(jiǎn)單的系統(tǒng)登錄過程就實(shí)現(xiàn)了。