C语言课程设计--数据的加密与解密_第1页
C语言课程设计--数据的加密与解密_第2页
C语言课程设计--数据的加密与解密_第3页
C语言课程设计--数据的加密与解密_第4页
C语言课程设计--数据的加密与解密_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言课程设计一数据的加密与解密C语言课程设计课程设计报告据的加密与解密学号姓名年级专业指导教师1208020462012级电子信息工程专业王元航牛涛完成日期2012年6月4日安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity 目录课程设计任务书3TOC o 1-5 h z摘要4关键词4原理4 HYPERLINK l bookmark12 一系统功能分析511设计目的51.2功能描述5二.C语言程序编写62.1程序结构图62.2程序流程图62.3程序源代码8三程序功能示例1331示例截图13

2、3.2测试过程16四设计体会与收获16五参考文献16C语言程序课程设计任务书题目数据的加密与解密设计目的将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密文(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。例如:加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动5位(注:z后接a)可得到密文(乱码)fghijkl;对该文件解密:文件内容为fghijkl,密钥为5,则有fghijkl每个字母向前移动5位(注a后接z),可得到原文abcdef。设计进度安排第一阶段:选择课程设计的题目;第二阶段:搜寻有关课程设计的资料,査阅相关的书籍;第三阶段:开始

3、编辑C语言程序;第四阶段:完成了C训言程序的编写,开始撰写C语言菾程设计报告;第五阶段:完成了C语言课程设计报告的撰写。教师审核签名摘要:作为保障数据数据安全的一种方式,对于信息的加密技巧起源于欧洲,最广为人知的编码机器是德国的GermanEnigma,在第二次世界大战中德国人利用它创建了加密信息系统,从而解决军事信息的保密通讯问题。尽管加密技术被首先使用在军事通信领域,但是人们或许出于安全的考虑,开始逐渐对于商业机密、政府文件等重要信息实施加密手段。数据加密应运而生。其基本原理是:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程的逆过程称为解密,即将该编

4、码信息转化为明文的过程。从事数据加密研究的人称为密码编码者(Cryptographer),而从事对数据解密的专业人士称为密码分析者(Cryptanalyst)o如今数据加密技术被广泛地应用与国民经济各个领域,特别是政府机关和国防情报部门,此外才是科学研究机关、商业部门、新闻出版、金融证券、交通管制与电力输送等部门。而C语言程序设计教学不仅仅局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力。C语言程序设计教学方法的改革让学生从多角度、以多方式去了解和掌握C语言以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用

5、这些思想和方法的能力。关键词:C语言,程序设计,换位法,换位位数,数据加密与解密原理:canyoucom换e位h法1e换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文canyoucome方若换位位数取4,则密文为comraueench*yoc向出*代表随机字母,如右图所示:一、系统功能分析1.1设计目的本课程设计的目的是为了保证个人数据资料不被他人非法窃取使用,保护个人的隐私及重要文件。1.2功能描述本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本身的其他英文字母以达到文件加密的目的。整个

6、系统由以下几大功能模块组成。主控选择模块此模块是主程序操作界面,供用户进行选择。用户可选择执行加密或解密操作。2加密模块此模块执行加密操作,输入明文后,去除空格得si,再判断有没有缺空格,有就补随机字母,然后按照换位位数进行加密,从而得到密文。3.解密模块解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。从外部文件中读入任意一个文件并将它解密并显示出来。本次综合训练是计算机科学与技术、信息管理与信息系统、软件工程专业重要的实践性环节之一,是在学生学习完C语言程序设计、数据结构课程后进行的一次全面的综合练习。本课综合训练的目的和任务是:巩固和加深学生对C语言、数据结构课程的基本知识的理

7、解和掌握;掌握C语言编程和程序调试的基本技能;利用C语言进行基本的软件设计;掌握书写程序设计说明文档的能力;提高运用C语言、数据结构解决实际问题的能力。二、C语言源程序编写:2.1程序结构图:主函数2.2程序流程图char*jiami(char#includestdio.hint#includestmainringh#definecharCHANGDU1000getss1CHANGDUchars2CHANGDUcharxstrCHANGDU;6接判断字符串s2中的空格和字符串结尾 intkey,i,j,len;chars1CHANGDU;chars2CHANGDU;charxstrCHANGD

8、U;printf(aatuSuSaatuSuSaatuSuSflB*5);printf(*welcometousethesystem!*n);printf(.S、*n);printf(qingshuruyuanshimingwen:);gets(s2);intm=0,i=0,t;charch;t=strlen(s2);for(i=0;ivt;i+)if(s2i!=&s2i!=0)ch=s2i;s1m=ch;m=m+1;ch=s2i;s1m=ch;if(s10=A&s10v=Z)s10=s10+32;puts(s1);printf(qingshurujiamimiyao:);scanf(%d,&

9、key);jiami(xstr,s1,key);printf(jiamimiwenshi:);printf(%sn,xstr);if(jiemi(s1,xstr,key)!=NULL);elseprintf(NULL);inta;charstrCHANGDU;A*ftaftaalaalaafta*9aaftaalaalaafta*9aaftaalaalaaftajnjtfi*n);printf(qingshurujiemimiyao:);scanf(%d,&a);getchar();printf(qingshurujiamimiwen:);gets(str);if(a=key&str0=s10

10、)printf(jiemimingwenshi:);puts(s2);char*jiami(char*p,char*s1,intkey)intijjenjen1,n=0;len=strlen(s1);if(len%key)!=0)len1=len+key-(len%key);elselen1=len;for(i=len;ilen1;i+)s1i=(char)(rand()%26)+(rand()%1)*(A-a)+a);s1len1=0;for(j=0;jkey;j+)for(i=0;i(len1/key);i+)pn+=s1i*key+j;pn=0;returnp;char*jiemi(ch

11、ar*p,char*s2,intkey)inti,j,len,n=0;len=strlen(s2);if(len%key)!=0)returnNULL;len=(len/key);for(i=0;ilen;i+)for(j=0;jkey;j+)pn=0;returnp;三.-3.1示例截图:C:Windowssystem32cmd.eKe*ijaIcomptou?sAthssystsm!*Iqingshuruyuanshiningvien:Canyoucomehere?canyoucomehere?qin(j呂hu广iijiamimiyao:iiidmimiwensii:coiirdueenc

12、hTyueiwxwxwxwxwxwxwxwxwxwx緒*clingshurujiomimiyao:4qing忘hiirujiamimiupn:comrauppnch?opiiiemimiriywensii:Canyoucomehere?W*-5t*-5t*-5t*-5t*-5t*-5t*-5t*welcometousethesystom!*qings:huruyun%himingijah:Canyoucomphprp7canyoucomehere?qingshurujiomimiyao:11jiamimiwenshi:cearneyYoiuackoymietht*北*北*北*北*器盖器盖器盖器

13、盖器盖器盖器盖器盖器盖器盖关来*来*来ubiysiuruiiemi.miydu:11qingshurujiomimiwen:cearney?oiuckoymiethtjiemiming忡onshi:Canyoucomehere?来託*兴*兴*兴共*共*共*共*共Kwelcometouseihesystem?qingshuruuanshimingwen:Lisieniothetwopassagesagainandwritedownwhatyouhaus1itsnftdlistentotheIwoMdsscitiesciticiiiidiidwrileduwnwhdlyuulidveliilene

14、d.(qingshurujinmimiyao:2jlamimiwenshi:iscttcwpsacaannwiconhiohvlscc.itnohtoasgsgiadrtdwwayuaoitndi英来英来英来英来共来来来来来来来来来来来来来来来来来来*般*来般*般来*来来来来来*来*uinqh】urujiemimivtio:2qingsiurujiamimiwen:lseitewpsaeaaimwieoiihtohvlsee.itnohtoasgsgiadrwwayuaeitndijiemimingunshi:Listniothetwopassagesagainandwritedownwhat

15、youhaur1is;tRnRd来*来*来来*来*稱稱稱稱稱稱稱稱*去米去米去米去米去*welcometouselhesvsIeit!,qingshuruyu日nshimingwen:HhatareyoudoingVwhtrAyoudoing7jifiysiurujidriiniydu:1jiomimiwenshi:uhatdr*C!VOLKloing?*井*井*井*井*港芙港芙港芙港芙*来*来来*来*来稱稱稱稱稱稱稱稱*去qiriysiurujiemimiyao:1qingshurujianimiuen:uhatciwyoucJoing?jiemiming押onshi:Uhatareyoud

16、oing?疋士呂=#*welcometousethesysiem1*uinyshuruyudiishiminqwen:Iluvevuu!iloweou?qingshurujiamimiyao:8jiamimiwns:hi:iMioaukpyyiotut竇粪竇粪竇粪竇務抵妊妊妊妊妊妊妊知妊知妊知妊知妊洪絃洪洪絃洪絃脊盖養盖養盖養盖来来来来来来qingshurujiemimiyoo:8qingshurujiamimiwen:1T1loavkcyyiotutjiamimingwns:hi:T1oupyou!3.2测试过程:(以第一幅截图举例)qingshuruyuanshimingwen:Canyo

17、ucomeherecanyoucomehere?qingshurujiamimiyao:4jiamimiwenshi:comraueenchi?yoeaqingshurujiemimiyao:4qingshurujiamimiwen:comraueenchi?yoeajiemimingwenshi:Canyoucomehere?qingshuruyuanshimingwen:Canyoucomeherecanyoucomehere?qingshurujiamimiyao:11jiamimiwenshi:cearrney?oiuackoymietht*qingshurujiemimiyao:11qingshurujiamimiwen:cearrney?oiuackoymiethtjiemim

温馨提示

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

评论

0/150

提交评论