欢迎来到天天文库
浏览记录
ID:11189943
大小:352.50 KB
页数:11页
时间:2018-07-10
《c语言程序设计-文件加密》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计课程设计报告学期:2014-2015(1)班级:计科14-1学号:10603140140391060314014041组员姓名:张浩刘润龙指导教师:李竹林完成日期:2014年12月文件加密与解密一、设计目的:通过对文件的加密保护与解密,使我们能更好的掌握好高级语言程序,从而了解对程序设计的基本概念和方法,进而学会利用C语言解决一般应用问题,并为后续的专业学习奠定基础。同时增强同学们之间的团队合作精神,使我们更好的融入社会,将来成为社会有用之才!二、设计内容:将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密钥(用户从键盘输入)将对应
2、字符进行移位操作即可,解密时移动相反。例如:加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动5位(注:z后接a)可得到密文(乱码)fghijkl;对该文件解密:文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5位(注a后接z),可得到原文abcdef。三、设计安排:第一阶段:选择课程设计的题目第二阶段:搜寻有关课程设计的资料,查阅相关的书籍第三阶段:开始编写C语言程序第四阶段:完成C语言程序的编写,开始撰写C语言课程设计报告第五阶段:完成C语言课程设计报告的撰写四、组员分工:文件的加密、解密程序部分由张浩
3、同学负责。课程设计报告,资料查询和程序调试修改由刘润龙同学负责,最后共同总结学习体会与心得。五、总体方案的设计思想及说明: 1.主要思想:为由总到分,由上到下的逐级分配任务的思想。通过主函数调用各个被调用的函数,再由被调用函数通过多个循环嵌套的使用实现各自的功能,最终达到程序的要求。 2.程序说明:(1)主函数其中包括:输入函数input(),加密函数jiami(),解密函数jiemi(),显示函数show(),。(2)输入函数中:while((c=getchar())!=EOF)的使用能提示使用者结束的命令,并且通过fputc(c,fp)把一个字符c写
4、到由文件指针fp指定的磁盘文件上。 (3)加密函数中:先定义两个指针,将输入的文件内容通过fputc(c+1,fp1);进行加密并保存到fp1所指定的文件上。(4)解密函数中:在进入解密系统时,需先输入解密密码,然后在打开文件进行文件里内容解密。根据加密时对每个文件内容的加密操作,所以解密时只需按照相同方法反操作即可。六、源程序:#include #include#include#include#include #define N 30
5、 /*文件名字符串数组大小* /#define M 30 /* 解密码字符串数组大小*/#define E 500 /*数组大小 */ void menu(void); /*主菜单 */void input(void); /*输入数据的函数*/ void jiami(void); /*对输入数据加密的函数*/ void jiemi(void); /*对已加密内容进行解密的函数 */void show
6、(void); /*显示内容的函数*/int judge(void); /*判断是否要继续的函数*/ char code[]="2011810063"; /*设置进入解密系统所需的密码*/main() { int num; while(1) { menu(); flushall(); scanf("%d", &num); switch(num) { case 0: printf(""); exit(0); case 1: system("cls"
7、); input(); break; case 2: system("cls"); jiami(); break; case 3: system("cls"); jiemi(); break; case 4: system("cls"); show(); break; case 5: system("cls"); count1(); break; case 6: system("cls"); count2(); break; def
8、ault:printf("t输入错误,请按规范重新输入!")
此文档下载收益归作者所有