计算机科学与应用系程序类课程设计.doc_第1页
计算机科学与应用系程序类课程设计.doc_第2页
计算机科学与应用系程序类课程设计.doc_第3页
计算机科学与应用系程序类课程设计.doc_第4页
计算机科学与应用系程序类课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与应用系程序类课程设计设计报告书题 目: 英文密文类 指导教师: 马伟杰 姓 名: 孙文光 学 号: 111006225 日 期: 2011年 5月17日 计算机科学与应用系 2011-2012学年第二学期目录1 需求分析2 类主要功能3 类中两个主要算法设计思想流程图1. 加密流程2. 解密流程、4 数据结构设计5 类成员1. 数据成员2. 函数成员6 主要算法设计7 主要代码8 运行结果样例9 结束语1 需求分析1. 在网络日益发达的今天,人们对自己的个人文档以及信件的安全越来越重视,对自己的文档及信件进行加密是一种非常可行的办法。2. 手工加密有诸如翻译密文较慢的种种缺点,利用计算机对自己的信息加密则具有方便高效快速的优点,为实现计算机对文档的加密就需要我们设计出切实可行的加密算法。2 类主要功能本类的主要功能主要有以下几点:1. 能够对从键盘输入的任意长度的英文字符串进行加密并保存到磁盘中。2. 能够从磁盘中读取文件并将其解密后输出到显示屏上。3 类中两个主要算法设计思想流程图加密流程:对输入的字符逐个进行判断通过键盘输入英文字符串并保存如果是y、z、Y、Z则分别用a、b、A、B代替如果是英文则将字母a-x, 或A-X,就将此字母后的第二个字母将本字母代替。如果不是英文字符则不加以处理把加密后的英文字符逐个保存到磁盘中解密流程:对密文的字符逐个进行判断通过用户输入的路径找到文件并输入到内存中如果不是英文字符则不加以处理如a、b、A、B则分别用y、z、Y、Z代替如果是英文则将字母c-z, 或C-Z,就将此字母前的第二个字母将本字母代替将处理后的字符逐个输入到显示屏上四.数据结构设计 本类要求能够对任意长度的英文字符串进行加密,所以在保存字符串时定义了string类的对象,以此来实现能够对用户输入的任意长度的字符进行保存。五类成员数据成员:string类的对象a,用来保存用户输入的任意的大小的字 符串。函数成员:1. 保存字符串函数set,其主要功能是保存用户从键盘输入的任意长度的英文字符串。2. 加密函数jiami,主要功能是对保存的英文字符串的字符通过加密算法逐个进行加密,并将其逐个保存到磁盘中。3. 解密函数jiemi,其功能是根据用户输入的文件路径打开文件,并逐个对其中的字符根据解密算法进行解密,并且逐个将解密后的字符输出到显示器。6 主要算法设计 本类用到的最关键的算法就是加密和解密算法,在类中分别对应的函数为jiam和jiemi,加密函数用到的思想是对用户输入的英文字符串先逐个进行判断,如果是a到x之间或A到X之间的字母则用该字母后的第二个字母代替(例如将c代替a),特别的如y、z、Y、Z则分别用a、b、A、B代替,然后将其逐个保存到磁盘中。解密算法则与加密算法相反,如果是c到z或C到Z之间的字母就用该字母前的第二个字母代替(如将b代替d),特别的如a、b、A、B则分别用y、z、Y、Z代替,然后将其逐个输出到显示屏上。此类用到的知识点有输入流输出流,利用string类定义对象对字符串进行保存,以及类的创建、调用等。难点主要在于类能够实现对用户输入任意长度的字符串进行加密,经查阅大量资料分析得知实现这一点可以引用string类并定义出对象对未知大小的字符串进行保存。7 主要代码class miwenprivate:string a;public: void set() cout=a&ai=A&ai=X) ai=ai+2; else if(ai=y|ai=z|ai=Y|ai=Z) ai=ai-24;outfileai; i+;outfile.close(); cout你要加密后的英文文为:aendl;void jiemi()/解密函数 char ch,p20;coutp; ifstream infile(p,ios:in);if(!infile)cerropen error!=c&ch=C&ch=Z) ch=ch-2; else if(ch=a|ch=A|ch=b|ch=B) ch=ch+24;coutch; coutendl;infile.close();八运行结果样例1.选择要加密还是要解密(例如选择加密输入1)2输入要加密的英文字符串(例如输入:I believe I can pass the exam!)3.选择解密文件并输入文件路径(例如刚刚加密过的文件):G:编程文件miwen.txt 九结束语我认为本类最大的不足之处就是在解密时不能通过弹出窗口选择要解密的文件,而必须通过输入要解密的文件的路径进行解密。对于这一点我认为是现阶段自己的知识水平有限,要解决这一点必须查找大量资料或者通过网络寻找解决办法。另一点不足之处就是本类的的设计使此类就像一个加密的工具和一个解密的钥匙结合体,所以是用户不能设定密码,这样使得所有加密的密文文件都是用同一种方式加密,是的密文被破解的几率很高。要解决这点不足就需要改进算法,使用户能够自行设定密码,在打开密文文件时输入自己的密码即可。本次课程设计给我最大的收获就是让我体会到了自己平时存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论