- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件加密解密课程设计报告
XXXX大学计算机科学与技术学院
《汇编语言程序设计》课程设计
实验报告
题目: 文件的加密和解密
专业: 计算机科学与技术
班级: XXXX
学号: XXXXXXXXX_
姓名: _ XXX _
成绩:
指导教师: XXXXX
完成日期: 2013年 9 月 26 日
一、题目需求
题目要求文档只给出了文件的加密解密要求,即最基本的要求为实现文件的加密解密,而且也没有限制文件的加密解密方式,也没有限制对哪些种类的文件进行加密解密(理论上应该是对任意文件都可进行),自由度可谓相当的高。
既然没有限定加密解密的方式,那么我认为还是采用简单一点的加密解密方式较好,这样一来程序就变得容易编写而且也能提高效率。当然在社会使用环境中的话当然是使用较难破解的复杂解密方式了。不管使用哪种加密解密方式都必须满足的基本要求是:加密前的文件和解密后的文件应当是完全一样的。这就是这次任务的基本目标。
二、系统设计
概要设计
根据题目要求可知该次设计应该包含以下内容:
从磁盘获取加密解密信息以及文件路径名并保存。加密解密过程中需打开文件,所以要通过系统调用打开需处理的文件。打开文件后,读取其内容,对文件进行加密操作。加密之后,写入源文件,并保存。进行解密操作时,同样先打开需处理的文件。读出文件内容,进行解密操作。解密操作完成后,写入源文件中,并关闭源文件。
2、详细设计
首先确定加密解密所使用的算法,这里我采用的是异或加密算法。
‘异或’运算为二元逻辑运算,运算规则为:参加运算的两位相同时结果为0,相异时结果为1。
‘异或’运算的特点:某逻辑变量与0异或时其值不变,与1异或时其值取反。若一字符字节与全1字节(FFH)异或,各位同时变反,原字符信息不可读出,可达到加密的目的。解密也是同样的道理,只需重复上述操作,该字节将恢复原值,即可达到解密的目的。所以同一程序既可以实现加密也可实现解密。
该程序的总流程图如下:
程序中为读入的文本设置一个缓冲区,当缓冲区大于文件长度时,文件读入功能能自动获取读入文本的长度,当缓冲区小于文件长度时,文件读入功能将给出缓冲区满错误提示信息。实现该功能部分代码如下:
MOV AX,3D02H
INT 21H
JC OPERR
MOV TOP,AX
MOV BX,AX
MOV CX,2000
LEA DX,BUF
MOV AH,3FH
INT 21H
JC REARR
MOV LEN,AX
MOV CX,AX
DEC CX
LEA BX,BUF
文件内容读入缓冲区中成功后,就开始用异或运算循环处理缓冲区中的字节,实现该功能部分代码如下:
LOP: XOR BYTE PTR[BX],0FFH
INC BX
LOOP LOP
待字节全部被处理完成后,将文件指针重新移动回文件头,然后开始重新写文件。文件重写完毕后关闭文件,程序结束。
重写文件部分代码如下:
MOV AX,4200H
MOV BX,TOP
MOV CX,0
MOV DX,0
INT 21H
JC MVPRR
MOV BX,TOP
MOV CX,LEN
MOV AH,40H
LEA DX,BUF
INT 21H
三、软件测试
使用说明:
在DOS环境下执行可执行文件CRYPT.EXE
然后系统会提示输入文件名(不要忘了后缀),需要进行加密解密的文件路径请保持与CRYPT.EXE所在的路径一致.
下面以一个txt文件为例开始测试。
解压前的txt文件内容:
运行加密解密程序过程:
加密后的txt文件:
然后对该txt文件进行解密:
解密后的文件如下:
可见与原来的txt文件是一模一样的。
若输入了不存在或者错误的文件名,则会出现下面的报错情况:
四、特点与不足
1、技术特点
简洁明了是本程序的最大特点。加密和解密都是使用异或算法,其操作过程完全一样,更能够保证加密算法的正确性。对文件的加密按照每一个二进制字节逐一加密,对汉字等非ASCII码字符的编码必威体育官网网址性得到了很好的保证。在出现非法操作时系统也会给出错误提示。
2、不足之处
对于加密解密的算法的设计比较简单,不具有深度。本程序采用的是对文件的每个字节进行异或运算以达到加密解密。这种方法加密解密速度快,而且其正确性也能够得到证明,但是安全性能不高,从数学角度上,很容易被破译。对于较高级的加密解密方式,虽
您可能关注的文档
- 当生活遇上工作课件.ppt
- 征用集体土地程序及农用地转用报批程序.doc
- 当代世界经济论文_免费下载.doc
- 律师事务所设立申请表_10609.doc
- 微众在线商城商品上架代销合同(带附表).doc
- 徐家汇商城微信营销方案.ppt
- 影像乳腺题库.doc
- 微信运营专员工作内容.ppt
- 微机原理与接口技术8255并行接口实验(ppt).ppt
- 微信crm分析.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)