基于加密技术的网络考试系统设计与实现①

2013-04-29 00:44王宇翔黄伟仁
科技资讯 2013年8期
关键词:身份认证加密

王宇翔 黄伟仁

摘 要:随着高校招生规模的不断扩大,在教学中改进考试手段成为亟待解决的问题,网络考试已经成为教学改革的一部分。本文阐述了利用VB实现基于加密技术的网络在线考试系统的开发实现方案,它具有题库管理、自动组卷、考试管理、自动评分等功能,并提出了网络考试系统需要进一步研究的问题。

关键词:网络考试 加密 身份认证

中图分类号:TP311.5 文献标识码:A 文章编号:1672-3791(2013)03(b)-0015-02

随着高等学校教育体制改革的不断深入,各高等院校纷纷进行扩招,学生人数不断剧增,在每次考试前,教师需要组织试卷、印刷装订试卷,考试后手工批改、试卷的分析,消耗了大量的人力物力,并且在阅卷、分数统计的工作中也非常容易出现人为的差错。教师工作量直线上升,目前迫切需要一种新的考试方式来解决这些问题。与传统考试模式相比,网络考试采取考试管理中心与本地考点分离,并采用随机抽题、智能组卷等方式,可大大改善教学方法,提高教学质量。

1 网络考试系统功能简介

这个考试系统是在对我院的校园管理信息系统、学院机房的真实环境的现状和特点进行深入等分析之后,进行了基于加密技术的网络考试系统的设计与实现工作。使用经典的VB开发技术,实现我院考试系统的网络化。

该考试系统具有以下特色和功能:

1.1 针对不同专业,进行多种题型的考核

我院现有专业22个,在校人数6000多人,具有多学科、多专业教学特点。在不同的专业考试中,由命题教师将考核内容,按题型、分值、考核时间等要素,分别填入Excel、Word文档中,即可设计不同的考核内容,自动生成试卷。

1.2 考试结果进行加密,传送给教师

在加密文档中,利用全球每台计算机的网卡MAC地址的唯一性、每台计算机的IP地址不可重复性的技术,在技术层面上防止上机考核时常发生的学生进行答案的拷贝、学生进行代传试卷的弊端。

1.3 客观题的自动批阅

在试卷批阅中,最大程度保证了考核的公正性、客观性。为本课程教师对考核结果进行分析,提供了科学、正确的数据。

1.4 系统界面友好,易于操作

系统设计使用Visual Basic语言,界面为所有同学都非常熟悉的Windows界面。在使用过程中不存在由于考试环境不熟悉,而对答题造成困惑,从而影响考试成绩的情况。

教师进行题目的组合及题库的建立使用最为广泛的Excel和Word软件,使教师无论在家中还是学院均可进行工作,而不必拘泥于某种特定环境。更不存在题库的文件类型不能转换,使以前的试卷全部作废或者要重新进行输入。

1.5 测试结果易于转换

同学可以通过网络完成测试,将结果提交给教师,测试结果的文件类型为txt文件。此种文件类型可以转化成多种其他文件类型,为测试结果的再转换提供了可能。

2 开发网络考试的相关技术

2.1 Visual Basic技术

Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言—— 不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。

本系统就是利用这种技术来实现的。

2.2 OLE技术

OLE技术(Object Linking and Embedding,对象连接与嵌入),指的就是OLE自动化,是不同应用程序之间进行通讯的一个标准。OLE自动化的工作方式是:通讯被动方(OLE服务器)应用程序向通讯主动方(OLE客户机)应用程序提供一个以上可供其调用的OLE自动化对象类型,OLE客户机通过引用这些对象实现对OLE服务器的调用,然后通过设置对象的属性和使用对象的方法操纵OLE服务器应用程序,完成两者之间的通讯。

在本程序中使用OLE技术,将Excel和Word与VB进行数据交换,完成不同的对象之间进行通讯。在Exec.Book123中储存着题库的内容,使用OLE技术将题库Exec.Book123(带密码)中的数据取出,存放到VB的控件MSFGrid控件中。将阅读后的测试卷从RichTextBox控件中,保存到word文档中。

2.3 加密算法综述

加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

密钥加密技术的密码体制分为两种:对称密钥体制和非对称密钥体制。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。

对称加密技术具有很多的优点,比如:效率高,加/解密速度可达数十兆/秒或更多、算法简单等;由于以上特点,本网络考试的加密技术采用对称加密技术。

任何数据在计算机内部均以二进制形式表现。本系统采用按位加运算一次对二进制数据进行加密,使得原文由原来的0变更为1,或将原来的1变更为0。

本程序中利用这种简单工作原理,将同学的答案,冠以学号姓名进行加密后,以二进制文件形式保存在硬盘上。以防止当今的电子考试的拷贝作弊现象。在教师端上利用逆向操作,将同学的二进制的数据文件还原为真实内容。供教师批阅。利用该原理,将每位同学的测试卷,在同学端加密后传送到教师端上,利用该技术,解密后写入光盘予以保存。

2.4 控件的使用

在本系统中,主要用到如下控件。

(1)MsFlexGrid(网格控件):保存随机产生的考卷数据。

(2)Timer:控制测试时间。

(3)三组控件的组合使用来模拟Windows界面。

Drive(驱动器):供使用者选择盘符。

Dir(文件夹):供使用者选择该盘中的文件夹。

File(文件):供使用者选择该文件夹中的文件。

(4)RichTextBox:富文本控件,类似记事本,可以对控件中的文字的属性,作各种类似Word的处理。

3 网络考试系统的实现

3.1 需求分析

(1)用户身份级别要求。

即根据身份的不同对系统的使用权限有所不同。权限大小分为:教师和学生。

教师:是权限最大的管理员,拥有超级权限,主要负责对系统进行参数设置,例如考试时间、题目数量设定,进行试卷的批阅和解除锁定操作。

学生:输入正确的学号和姓名后,进入考试试题,进行题目抽取和答题,并且提交试卷。

(2)系统设置功能。

提供对系统中各个参数的设置,比如考试时间,题目数量等。

3.2 考试系统主要功能模块的实现

3.2.1 登录窗口

主要是对登录用户进行身份合法性验证,因为此系统面向的是学院的教师和学生,所以在登录界面上提供学生学号和姓名的输入框作为身份验证的依据。同样,教师登录采用的是输入职工编号和姓名来进行验证。如果不能同时输入正确的学号/编号和姓名,将不能进入系统。

3.2.2 测试窗口

通过VB菜单编辑器。生成两级菜单,每个子菜单完成各自的功能。

(1)生成测试卷模块。

利用OLE技术从Excel题库中随机生抽取题目、可选项目、标准答案。将获得的数据置入答题纸页面中的MSFlexGrid控件中。题目数量由系统文件Para\parama.dat中对应数据项给出。

完成测试卷后,打开答题纸页面窗口。

(2)开始测试模块。

通过测试窗口的Textbox、Option1、Checkbox控件和答题纸窗口MSFlexGrid控件的组合完成测试。Timer控件,在后台进行测试时间的计时工作。当计时到达系统参数文件中设置的时间。立即终止测试,并自动生成两份加密文件置入Fileset文件夹中。

(3)提交测试卷模块。

在未到测试时间提前交卷,则终止Timer控件的后台计时,转入Timer控件。

3.2.3 答题纸窗口

利用MSFlexGrid控件的单击事件,将存储在该控件中的数据,向测试窗口的Textbox、Option1、CheckBox控件,写入各题的内容。

其中:

(1)Textbox:题目。

(2)Option1单选按钮组:供选择的内容。

(3)CheckBox控件组:供选择的内容。

(4)将Option1单选按钮组和CheckBox控件组的选择数据保存到MSFlexGrid控件上,供测试者观察。

3.2.4 系统窗口

(1)利用UpDown控件和Textbox控件的互联,完成ActiveX组合控件。在指定数据范围内选择数据。

(2)利用加密技术和二进制文件写入技术,将参数写入文件夹保存。文件名为Para\parama.dat。

使用三组控件的组合技术:Drive(驱动器)+Dir(文件夹)+File(文件),让教师快速批量选择文件。应用解密技术,将每个测试成绩文件解密。将解密后的文件各项数据存入MSFlexGrid控件的每行。利用OLE技术将MSFlexGrid控件的每行数据写入Excel文件保存。

(3)生成每位测试者的测试卷。

使用三组控件的组合技术:Drive(驱动器)+Dir(文件夹)+File(文件),让教师快速批量选择文件。应用解密技术,将每个测试试卷文件解密。利用OLE技术将RichTextBox控件内的测试试卷内容写入Word文档,存档保存。

4 结语

本系统利用VB技术,通过简洁的算法对网络考试系统进行设计,具有稳定性,系统开销小,组卷速度快等优点,教师可以进行自由组卷,学生试卷加密上传,避免作弊现象,客观题进行自动阅卷,基本上达到实用水平。

参考文献

[1]Visual Basic 6.0程序设计参考手册[M].人民邮电出版社,2003.

[2]张春晖.网络考试系统的数据安全性分析与设计[J].软件导刊,2008(9).

[3]陈果.网络考试系统加密技术研究[J].计算机工程与应用,2008(44).

猜你喜欢
身份认证加密
一种基于熵的混沌加密小波变换水印算法
加密与解密
云电子身份管理与认证系统中的关键技术优化改进
校园网云盘系统存在的安全问题及对策
基于指纹身份认证的固定通信台站干部跟班管理系统设计
一种基于LWE的同态加密方案
基于PKI与基于IBC的认证技术比较
Kerberos身份认证协议的改进
基于USB存储设备的透明监控系统
认证加密的研究进展