使用LabVIEW编译一个登陆窗体(5)

写在最前:这篇连载文章是本公众号【月明新兮】始发,且暂未授权任何机构和个人转载或者以其他任何形式修改、发表等。文章适合有一定编程理解思维的同学学习。本连载不定期更新。

上节简单介绍了密码的直接对比,但是很明显,这个验证有问题:

1、用户名和密码没有关联;

2、密码在程序中以常量形式存在,用户无法更改;

3、密码未经过处理,直接明码存储。

要解决如上问题,我们先来简单了解一下,数据库的知识,以本教程使用的Access数据库为例,我们先来新建一个Access数据库,在我们的Login目录下,右键新建Access数据库,命名为MyDB.accdb,Office 2003版后缀为*.mdb,然后双击打开,选择文件,打开,在打开的枚举框,选择【以独占方式打开】;

以独占方式打开

解释一下为什么要用独占方式打开,因为数据库是一种能够多人共享的资源,以独占方式打开,即相当于超级管理员权限,暂时限定其他访问用户,可以对数据库进行密码设定等好处。

解释完了之后,我们选择创建--表设计:

创建表设计

接着,按照图示创建字段名称和对应的数据类型;

数据库设计

将鼠标光标移动到UserID,然后在设计视图下点击【主键】,将UserID设为主键;字段说明,AutoNo为自动编号,新增一条记录即自动加1,当然这个可以不要,这个是小编的设计习惯;UserID,顾名思义,用户名,PassWD,当然就是密码了。当然我们还可以再增加一些字段,例如性别啊、年龄啊、部门啊、地址之类的。

设置UserID为主键

保存设计表

打开表

说明一下,一个数据库可以有多个表,一个表中,每一个列叫做一个字段,每一个行叫做一条记录,记录是数据表的基本单位,什么意思呢,举个例子,单元格是Excel的基本单位,Excel的单元格发生变化,系统会识别出来,然后提示用户需要保存等等,而数据库,我们改变单元格的值,系统是不要求确认的,仅当用户新增或者删除的时候,才发生变化,弹出警告等信息;

一个数据表,一般都要设置一个主键,主键的意思是,必须唯一,我们一般注册一个用户名的时候,会发现有系统提示“用户名已存在!”的信息,这就是为保证用户唯一的,否则,一个用户名对应若干个密码,会出现乱套。

这时候,我们可以直接输入用户名和密码,例如:

新建一条记录

新建一条记录,用户名:月明新兮,密码:123456,新增完之后,点击文件--用密码进行加密,输入两次密码,如HUAHUA,对数据库进行加密后保存。

加密操作

输入密码加密

点击确定之后,一般会弹出一个经过,点确定就行了,完成之后关闭,重新打开可以看到,需要密码,这样,能够有效保证数据不被修改,当然,更安全的数据库还是推荐SQL Server等更专业的数据库系统。

密码保护

注意这里的加密和用户名密码之间的区别,这里是访问数据库的密码,没有这个密码是不能够打开或者操作数据库的,而用户名密码是前端验证的。

通过上述操作,我们明确了,我的用户名【月明新兮】就对应一个密码,我到时候直接从数据库中索引,这样就实现了用户名密码对应起来,第二个问题,也得到了解决思路,我们通过操作,修改数据库中的密码字段,就可以实现更改密码的需求。

对于第三个问题,明码保存,本教程只在这里做一下解释,后期教学依然使用明码对比,中间的加密,等大家熟悉了,可以自行发挥;好了,我们看一下,一种典型的登陆加密情况:

一个典型的加密方式

这样,即使看到了数据库的内容,也无法知道被加密的密码是什么,从而实现加密处理。

好,本节就讲这么多,下节继续讲解,敬请期待!

更多惊喜请关注月明新兮微信公众号

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180927G00DW100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券