您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 汇编语言对文件简易加密解密
课程设计报告课程微机原理课程设计题目简易文件加密解密系别物理与电子工程学院年级08级专业电子科学与技术班级三学号0502083(02142324)学生姓名崔雪飞陈祥刘刚李从辉指导教师居伟骏职称讲师设计时间2011-4-18~2011-4-22常熟理工学院课程设计报告1目录第一章绪论...................................................................................................................................2第二章分析与设计.......................................................................................................................32.1题目......................................................................................................................................................32.2要求......................................................................................................................................................32.3方案设计与论证..................................................................................................................................32.3.1整体设计思路..........................................................................................................................32.3.2方案选择..................................................................................................................................32.4结构框图等设计步骤..........................................................................................................................4第三章实验程序及分析...............................................................................................................63.1宏定义..........................................................................................................................................63.2加密模块......................................................................................................................................93.3解密模块......................................................................................................................................93.4加密和解密算法子程序............................................................................................................10第四章实验结果及问题处理.....................................................................................................124.1实验结果............................................................................................................................................124.2出现的问题以及解决的方案.............................................................................................................134.2.1文件写操作问题....................................................................................................................134.2.2读入缓冲区的大小问题........................................................................................................144.2.3不同文件类型加解密问题.....................................................................................................144.2.4文件结束标志........................................................................................................................15第五章总结与体会.....................................................................................................................16参考文献.......................................................................................................................................18附录...............................................................................................................................................19常熟理工学院课程设计报告2第一章绪论随着计算机硬件的发展,微机系统的功能越来越强,而且计算机的程序设计语言也经过了一个发展的过程。从最基本的机器语言到汇编语言,并到高级的智能化语言,如visualC++、visualBasic等,不断前进。汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。对给定的文件进行加密是当今计算机科学中的一个非常热门话题。在本课程设计中,目的是给给定的文件进行加密和解密,加密方法有:文件里文本的二进制与10101010B作求和,解密则相应的与10101010B相减。课设只是把所学的知识加以应用,不能轻视题目的简单,我们要借此机会,加强汇编语言的学习,并加深自己的知识。在设计中,程序应用了BIOS中一些系统中断,设计了人性化的界面,这些是自学的汇编知识并加以应用,当然也有很多DOS系统的功能调用。总之,自己结合平时所学和最近的自学,认真的完成课题,并很好的实现了相应的功能。常熟理工学院课程设计报告3第二章分析与设计2.1题目简易加密解密程序2.2要求编写一个程序能够对某个文件进行简单加密和解密,加密过程要求将文件中所有数据读出,然后将每个字节的读出数据和10101010B作求和运算,实现加密,需要解密时用相应的求差运算。要求有提示信息。例如:enterpathname:c:\1.txt2.3方案设计与论证2.3.1整体设计思路1.考虑到要读文件内容,所以要先打开文件;2.打开文件之后,读出内容,调用加密子程序,进行加密;3.加密之后,写入文件存档,最后关闭文件。4.如果要进行解密,先打开文件;5.读出内容,调用解密子程序,进行解密;6.写入文件并存档,最后关闭文件。2.3.2方案选择1.对于加密(解密),我们有两种方案:(1)把文件内容加密(解密)之后替换原来内容为加密(解密)内容;(2)把文件内容加密(解密)之后存在缓存区,删除原来文件并新建一个和原来名字一样的文件,存入加密(解密)数据。对于方案(2)在源文件存入缓冲区之后,源文件可以被删除,但是在创建新的文件常熟理工学院课程设计报告4的时候,实践的时候无法创建。然后再考虑到,这种方案比较繁琐,错误的几率比较大。方案(1)在同一个文件中进行读写,用加密数据将原来的数据覆盖,数据安全性提高的同时,程序设计不再繁琐,所以我们选择方案(1)。2.对于怎么读文件数据,我们有三种方案:(1)利用汇编语言读文件功能调用,将文件数据分512个字节分批读入内存,加密(解密)后返回给文件;(2)利用汇编语言读文件功能调用,将文件数据每次读一个字节,加密(解密)后返回文件;(3)利用汇编语言读文件功能调用,将文件数据分读8个字节分批读入内存,加密(解密)后返回文件。从理论上讲,上述方案都可行,但是在实际操作中,发现方案(1)(2),可能由于cpu处理的问题,在运行中程序都被打断,达不到预期效果,尤其是方案(1)。最终我们选择方案(2),因为在后期的编写中我们发现方案(2)更加简便,能够避免前面方案出现的问题。2.4结构框图等设计步骤如图2.
本文标题:汇编语言对文件简易加密解密
链接地址:https://www.777doc.com/doc-7258252 .html