李晶晶 殷新春
摘 要: 本文针对大量的多媒体学习资源,快速查找对应的学习资源相对繁琐,由于二维码技术日臻成熟,并且讨论了二维码技术运用在多媒体学习资源中的可行性,将二维码技术与多媒体学习资源结合运用到立体化教材建设中,在实际运用二维码时,由于QR码容易被攻击,因此采用矩阵式二维码中的QR码,并结合信息加密技术RC4加解密算法,保证二维码信息的安全保密性。设计并实现一个应用二维码技术的学习资源管理系统,包括学习资源管理系统和二维码扫描子系统,主要分为PC端编码模块的和Android手机端解码模块。实践表明,二维码运用在系统具有明显的优势,在学习资源管理中使用二维码提高了管理和使用的效率。
关键词: 立体化教材;二维码;RC4加密算法;学习资源管理;J2EE
中图分类号: TP311. 52 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.01.004
【Abstract】: This paper aims at a large number of multimedia learning resources, quick search for the corresponding learning resources is relatively cumbersome, as the two-dimensional code technology matures, and discusses the feasibility of using two-dimensional code technology in multimedia learning resources, the combination of two-dimensional code technology and multimedia learning resources is applied to the construction of three-dimensional teaching materials. In practice, QR code is easy to be attacked, so QR code in matrix two-dimensional code is adopted, and RC4 encryption and decryption algorithm is combined to ensure the security of two-dimensional code information. Design and implement a learning resource management system using two-dimensional code technology, including learning resource management system and two-dimensional code scanning subsystem, mainly divided into PC-side encoding module and Android phone-side decoding module. Practice shows that the use of two-dimensional code in the system has obvious advantages in the use of two-dimensional learning resources management to improve the management and use of efficiency.
【Key words】: Dimensional textbooks; Two-dimensional code; RC4 encryption algorithm; Learning resource management
0 引言
當前已经有许多高校将多媒体教学和网络教学运用到实际教学中,这些教学方式会产生大量的多媒体教学资源,例如音频课件、视频课件、教学PPT以及相关练习等等,如何对这些资源进行管理就成为一项重要课题。因此提供一个既方便教师教学和对教学资源进行统一管理,又能方便学生自主学习的平台成为了一项重要任务。
随着国家信息化步伐的加快、智能手机的全面普及,二维码技术日臻成熟[1],这为二维码技术在传统出版中的应用提供了土壤与条件。立体化教材是由立体化的学习资源和网络教学组成的,这两个部分是教材的立体化建设的重要组成部分[2],所以在立体化教材建设中应用二维码技术[3]。学习资源管理系统管理的是立体化教材中的学习资源,该系统对促进高校教学的改革与创新,提高自主学习的水平,以及实现学习资源的共享起到重要的作用,学习资源管理系统的设计与实现具有重要的实际应用价值。
1 关键技术
1.1 整合技术
本文介绍的是学习资源管理系统设计与实现。系统PC端采用B/S模式,Android手机端采用C/S模式,系统采用三层体系结构,并使用了SSH整合框架,该系统具有良好的稳定性、灵活性、可伸缩性和易维护性,以及操作简单、方便。
搭建一个合适的系统开发环境可以使得系统开发者有效、快速、方便地建立学习资源管理系统,有效地实现系统的各种功能,更好地满足用户需求。本系统选用的服务器端操作系统是Windows,同时选择了Tomcat作为该系统应用服务器。在数据库的选择上,我们通过MySQL与其他几种数据库的比较,MySQL关系型数据库功能强大,不仅速度快,而且支持多平台和多种开发语言,以及能提供多种存储器引擎,同时也能够支持大型数据库,根据MySQL数据库的这些特点,我们选择了MySQL关系型数据库。PC端开发工具选择MyEclipse,采用的是Java编程语言,使用J2EE体系结构进行开发[4],并采用采用J2EE框架[5]。Android手机端开发工具选择Eclipse,也采用的是Java编程语言。
1.2 安全技术
由于在二维码编译码中,安全漏洞是不可避免会出现的状况。通过分析现有的几种典型的攻击方式,我们需要在编码的环节中添加加密方法并且在译码环节进行解密。通过认证手段将编译码的安全性得到提升,进行安全管理。为了提升二维码信息的安全性与保密性,我们通过信息加密技术对环节进行处理;为了使用户获取的信息的正确性得到保证,所以我们需要在系统中添加认证管理手段,所以将RC4加密算法使用在二维码信息加密的过程中,以此来保证二维码的安全。
我们发现RC4算法不仅具有算法实现简易,而且安全性能高的特点,而且RC4算法在加密速度上也表现优异,能够快速加密。同时还具有RC4算法的密钥长度可变,一般采用256个字节的特点。
序列密码算法中最典型的算法就是RC4加密算法。在二维码编译码的流程中加入RC4加密算法,该算法不仅有固定的密文序列长度,而且该长度还与明文序列长度相等,因此二维码图形的结构和纠错码的纠错性能不会因为信息长度的变化而受到影响。
密钥调度算法(KSA)和伪随机数生成算法(PRGA)这两个都是RC4算法的子算法。KSA产生密钥流生成器的初始状态S0,其依据是可变长度的加密密钥,密钥流Zt是由PRGA根据S0产生的。密文是由Zt与明文异或之后得到的,并且Zt与密文异或就可以进行解密其具体的算法如下:
2 系统总体设计
2.1 功能设计
本系统应用于高校的课堂教学和自主学习过程中,为教师给书本中和教学PPT中添加的二维码进行学习资源管理提供了平台。该系统给教师和学生提供方便,不仅提高教师的教学效率,而且提供学生的自主学习效率,因此实用性很强。该系统实现学习资源以及相对应的二维码的管理,有效地将书上的知识内容以及课堂上的学习内容通过二维码编辑分类,通过本系统对学习资源进行分类管理,学生可以通过客户端扫描书本上知识点所对应的二维码有效地快速查找学习资源,并且教学过程中教师可以在教学PPT中公布对应知识的二维码,如果学生在听课过程中可以扫描PPT上的二维码深入学习,并且通过使用记录和我的收藏功能,更好的了解自己的自主学习情况,同时教师根据学生的学习行为记录,分析出学生感兴趣的知识点、错误率高的题目以及客观公正的给出学生的平时成绩。学生使用Android手机客户端扫描二维码获取自己所需的多媒体学习资源,使得自主学习更加简单、方便[9]。
学习资源管理系统的总体功能模块有用户管理、权限管理、资源管理、数据管理、学生行为记录管理以及二维码生成这六大功能模块,其中每个大的模块又分为许多小的模块,具体如图1所示。
2.2 流程设计
本系统主要由学习资源管理系统和Android客户端的二维码扫描子系统这两个部分组成,本文对学习资源管理流程和二维码扫描的子系统的流程进行了详细地分析,不同的用户角色具有的功能不同,在用户登录时对用户角色进行判定,进入不同的用户功能页面,系统的详细流程图如图3和4所示。
3 二维码功能实现
3.1 二维码生成功能
在PC端完成二维码生成功能,该功能是把教学视频、教学PPT、知识扩展、相关练习以及课堂链接的学习资源编译生成二维码或活码,生成二维码的同时还要确保其安全性[10]。
(1)二维码编码
矩陣式二维码类型中的QRCode是本系统所选择的二维码编码方式。我们得到的二维码图形是通过以下四种不同的标准化编码模式。根据这四种编码模式的数据内容,可以简单地概括成:数字、字母数字、二进制字节以及汉字,具体编码的流程如下步骤所示。
Step 1:通过原始的信息的获取进而得到该信息的数据类型。依据上述分析得到的结果选择最为合适的编码模式,即效率最高者。
Step 2:通过上一步骤得到的效率最高的编码模式,我们可以对原始的信息作进一步处理:转换为二进制比特流后,再进行信息的编码。
Step 3:通过信息的数据量将码字进行分块处理,通过纠错编码将分块后的数据容量形成对应的纠错信息码,再依照分块顺序对其进行合并,得到最终纠错结果:纠错码[11-12]。
Step 4:得到数据和纠错码之后,按照规则将每一块中放入数据和纠错码,在必要的时候还要加剩余位。
Step 5:将寻像图形、分隔符、矫正图形和码字,按照规则排列,放入矩阵。
Step 6:用八种掩模图形按照顺序处理在位图中编码区域的符号进行掩模处理,分析经过掩模处理后的8种结果,选择相对而言最优的一种。
Step 7:最后生成版本信息(如果有需求)和格式信息,构成符号,得到QR码图片,具体编码的流程如图5所示。
(2)二维码加密
在二维码编解码过程中,难以避免问题的就是安全漏洞。通过分析现有的几种典型的攻击方式,我们需要在编码的环节中添加加密方法并且在解码环节进行解密。通过认证手段将编解码的安全性得到提升,进行安全管理。为了提升二维码信息的安全性与保密性,我们通过信息加密技术对环节进行处理;为了使用户获取的信息的正确性得到保证,所以我们需要在系统中添加认证管理手段。通过对比其他加密算法,我们发现RC4算法[13]不仅算法实现简易,而且它的安全性能较高。不仅如此,RC4算法在加密速度上也表现优异。RC4算法的密钥长度可变,一般采用256个字节,所以将RC4加密算法运用在二维码信息加密过程中,具体是应用于QR码的编码环节,并采用的QR码的双重加密策略[14-15],具体如图6所示。
(3)二维码保存
生成后的二维码图片需要进行保存。本系统的资源上传功能就实现了将生成的二维码图片上传到数据库,同二维码图片一起上传保存的还有与该二维码图片相对应的知识点ID、图书号、书名、知识点内容。
3.2 二维码扫码功能
二维码扫码功能是在Android手机端完成,通过用手机扫描书本中的二维码和PPT中公布的二维码,获得教学视频、教学PPT、知识扩展、相关练习以及课堂链接这些不同类型学习资源的完整信息。
(1)二维码解码
二维码的编码过程是将数据内容转化为二维码图形,那么二维码的解码过程就是将二维码图形扫描识读完成数据内容输出,这个过程被称为编码的逆过程。具体的解码流程如下所示。
Step 1:通过手机端对二维码图形扫描,进行图形识读。
Step 2:二维码图形上面一共有三个方块,在任何方向都可以对二维码图形进行扫描
就是这三个方块起到的作用。要对二维码图形进行解码,那么就要对这三个方块进行图形探测。确定QR二维码的方向和位置的方法是寻像图形和定位图形,并且要校正图像,从而确定采样网络。
Step 3:对数据进行纠错,就要识别模块的深浅,读取格式,以及二维码版本的信息,消除掩模,恢复数据的内容和纠错信息码,数据和纠错进行解码对比。纠错和解码同时进行,并且错误检查是通过纠错码进行的。
Step 4:在纠错解码之后,就要对数据信息进行解码。
Step 5:输出显示信息的内容,具体的解码流程如图7所示。
(2)二维码解密
因为在二维码编码的过程中使用了RC4算法双重加密策略,所以在二维码的解码过程里面,就要对二维码的进行解密,具体如图8所示。
4 系统测试
软件测试是软件开发过程的重要组成部分,大致包括了功能测试、性能测试、兼容性测试、安全性测试等。对系统进行测试的目的就是要用最少的时间和人力,找出系统中存在的各种各样的错误、漏洞以及缺陷,同时来确认系统的功能或性能是否与系统开发之前所提出的一些需求相符合。
(1)系统兼容性测试
进行学习资源扫描子系统兼容性测试的平台是Testin(一站式移动应用测试平台),测试过程中选用了市场上较为主流的50款机型。测试内容包括初始化、安装、启动、遍历,Monkey等测试项。测试通过率为90%,其中2款初始化失败,3款安装失败。初始化失败可能是应用程序组件丢失,应用程序完整的运行需要一些系统文件的支持;安装包可能有损坏。安装失败的可能是安卓手机客户端内存不足;安装apk时出现解析包错误;系统版本限制(比如手机支持2.3系统,而应用程序只支持4.0及以上系统),部分的测试结果如图9所示。
(2)系统性能测试
学习资源扫描子系统进行性能测试是为了确保该子系统在不同的移动客户端具有良好的使用性能,测试结果的性能概况图中可以看出,安装时间是7.35s,启动时间是0.62s,CPU占用率是1.58%等,学习资源扫描子系统进行性能测试的具体结果如图10所示。
5 结论
学习资源管理系统在设计和开发的过程中结合了现代软件工程理论、J2EE体系结构,以及SSH三大框架,将学习资源管理作为系统的设计和实现目标,对系统的功能模块、系统架构、以及数据库进行了具体设计与实现,使得更加合理的进行学习资源管理成为可能。为实现教师辅助教学、管理学习资源以及学生自主学习,本文设计并实现一个学习资源管理系统。教师用户使用本系统将教学视频、教学PPT,相关练习等学习资源生成二维码,并且可以对书本以及课件中添加的学习资源二维码进行管理。该系统实现了对学习资源以及相对应的二维码的管理功能。教师可以在教学过程中的教学PPT上加入对应知识的二维码,学生可以扫描PPT上的二维码进行深入学习,同时教师根据学生的学习行为记录,分析出学生感兴趣的知识点、错误率高的题目从而可以客观公正的给出学生的平时成绩。学生用户可以使用移动客户终端扫描方扫描书本上知识点所对应的二维码有效快速地查找、获取学习资源。该系统有利于提高教师的教學效率和学生自主学习的兴趣,因此这个系统具有很强的实用性。
参考文献
[1] 钱鹏. 二维码技术在高校多媒体教学中的应用[J]. 实验室研究与探索, 2014(4): 255-259.
[2] 魏江江. 立体化教材建设的思考与实践[J]. 科技与出版, 2011(9): 30-32.
陈睿. 二维码在教育类图书升级中的运用[J]. 出版广角, 2017, (2): 56-57.
郝玉龙. Java EE编程技术(第2版)[M], 北京: 北京交通大学出版社, 2013.
张建军, 刘虎. 基于ExtJS的J2EE轻量级框架的研究与应用[J]. 计算机应用与软件, 2014(4): 73-76.
侯整风, 孟毛广, 朱晓玲, 等. RC4流密码算法的分析与改进[J]. 计算机工程与应用, 2015, 51(24): 97-101.
Jindal P, Singh B. Performance analysis of modified RC4 encryption algorithm[C]// Recent Advances and Innovations in Engineering. IEEE, 2014: 1-5.
胡亮, 迟令, 袁巍等. RC4算法的密码分析与改进[J]. 吉林大学学报: 理学版, 2012, 50(8): 511-516.
李晶晶. 基于“MOOC+SPOC”的学习资源管理系统的设计与实现[D]. 扬州大学, 2018.
高彦受, 许春根. 安全实用的二维码研究与实现[J]. 信息网络安全, 2012(10): 47-50.
冯汉禄, 黄颖为, 牛晓娇, 钱银超. QR码纠错码原理及实现[J]. 计算机应用与软件, 2013, 30(6): 295-297.
Wen-Chuan Wu. Quantization-based image authentication scheme using QR error correction [J]. Eurasip Journal on Image & Video Processing, 2017(1): 13.
周文倩, 马燕, 李顺宝, 等. 应用于QR码信息加密的RC4改进算法[J]. 计算机工程, 2015, 41(8): 105-109.
张彬, 王岳. 二维码的安全技术研究[J]. 信息安全与通信保密, 2015(10): 110-113.
于英政, 许宏丽. 基于QR二维码的多级融合加密算法的设计与实现[J]. 计算机与数字工程. 2014, 42(12): 2362-2364.