一般进入系统都要登录(如进入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, "提示信息"EndEnd IfEnd IfIf times 3 ThenIf Not (UCase(txt_mm.Text)= UCase(Text2.Text)) Thentxt_mm.Text = invert(txt_mm.Text)Picture1.Picture = LoadPicture("trffc10c.ico")MsgBox "用户密码错误,请重新输入!",vbExclamation, "提示信息"Picture1.Picture = LoadPicture("trffc09.ico")txt_mm.SetFocusCall txt_mm_GotFocusExit SubElsePicture1.Picture = LoadPicture("trffc10a.ico")MsgBox "欢迎您使用本系统!", vbInformation, "提示信息"Unload Mefrm_welcome.ShowEnd IfElseIf times = 3 ThenIf UCase(txt_mm.Text) = UCase(Text2.Text) ThenPicture1.Picture = LoadPicture("trffc10a.ico")MsgBox "欢迎您使用本系统!", vbInformation, "提示信息"Unload Mefrm_welcome.ShowExit SubEnd IfMsgBox "对不起,您无权使用本系统," + vbCrLf + vbCrLf + " 请与系统管理员联系! ",vbCritical + vbOKOnly, "提示信息"EndEnd IfEnd Sub
---- 由于一般系统用户有多个,所以必须设置多用户。通常用户名和对应密码以数据库的形式保存。但数据库极易暴露,可直接通过打开数据库而获 没名和密码,安全性不好,所以应进行加密工?-保存在数据库中的密码与登录时输入的密码不一样,保存时进行加密,登录时进行解密。这样,即使看到了数据库内容,如果不知道解密过程也无法进入系统。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)---- 一个比较简单的加密过程如下:
Public Function invert(passw As String)Dim i As IntegerDim Temp As StringTemp = ""For i = Len(passw) To 1 Step -1Temp = Temp + Mid(passw, i, 1)Next iinvert = TempEnd Function
---- 至此一个简单的系统登录过程就实现了。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)