高职计算机专业课程中加入TEA算法的意义和方法
发布时间:2014-07-28 20:46
一、高职计算机专业《面向对象程序设计》课程中加入TEA算法的方法
高职计算机专业《面向对象程序设计》课程以JAVA语言为主,其内容主要由以下几个模块组成:(1)结构化程序设计;(2)面向对象程序设计的概念及思想;(3)文件与IO流;(4)图形用户界面;(5)Applet小应用程序;(6)多线程。为了鼓励全体学生都能参与课程的教学与学习活动中,调动每一个学生的学习积极性与能动性,使每个学生都有事做、想做、会做、喜欢做。因此,笔者设计了一个教学思路,如图3:
由于已经将算法详细地介绍给了学生,因此学生只是将该算法用JAVA语言来表现并上机进行验证,当同学们的程序运行通过,并发现可以将输入的一些字符加密成功,输出结果是与原来输入结果完全不同的字符时,他们获得了成就感,并感觉到自己也可以加密信息了,从而对这门课程产生了浓厚的兴趣,并盼望进一步的深入学习。
在此基础上,可以让学生尝试将RSA等加密算法用JAVA实现,也可以帮助学生理解程序设计的基本概念。
进入第二部分,开始学习面向对象的概念和思想,一开始,学生对这些面向对象的概念不是很理解,笔耕论文,笔者要求学生编写一个TEA类,该类有加密、解密等成员方法,让学生将前面的结构化TEA算法改成面向对象的方法。通过自己动手编写程序,学生逐渐竖立了类、对象、构造方法、继承、重载等概念,也逐渐竖立了面向对象的编程思维。
第三部分开始讲述文件与IO流,此时,要求学生不是对某个数据加密解密,而是将整个文件加密解密,编程难度加大了,学生的兴趣也随之加大加深了。在编写程序过程中,学生对前面章节学过的如循环、字符串、数组等概念又得到了复习。当学生第一次将一个文件加密成功后,他们的欣喜是由衷的。
第四部分图形用户界面是学生最感兴趣的,因为之前编写的程序其运行结果都是千篇一律,看不出什么效果,只知道程序运行成功了,加密解密完成了,而图形用户界面以图形的方式显示出运行效果,从视觉方面引发了学生的成就感。在这一阶段的教学中,要求学生将之前编写的加密解密程序改成图形用户界面,需要运用各类组件和布局组织自己的程序运行界面,还需要编写菜单和各类触发事件。当需要对一个文件进行加密时,需要运用打开文件的对话框选择待加密的源文件,以及存放加密完成后的目标文件。
二、高职计算机专业《面向对象程序设计》课程中加入TEA算法的意义
TEA算法每一次可以操作8个字节,密钥采用16个字节,采用迭代的形式实现。。TEA加密算法的迭代次数是可以改变的,目前推荐64轮迭代,不过32轮迭代、16轮迭代也是足够的,甚至可以采用8轮迭代。TEA算法由于实现简单,加密速度快,常被一些保密性要求不高的系统采用,比如QQ的登录加密就是采用16轮TEA算法来实现的。
TEA算法是编程算法中一个比较容易理解的算法之一,学生比较容易撑握,而且它主要是用在加密及解密中,笔者在教学过程中,抓住学生的“成就感”的心理:将一个加密解密程序TEA算法编排穿插在教学内容中,学生很感兴趣,大大提高了学习该课程的兴趣,并取得了良好的教学效果。
本文编号:6787
本文链接:https://www.wllwen.com/qitalunwen/6787.html