




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习资料收集于网络,仅供参考程序设计及应用课程设计2015 2016学年第三学期院(系) 信息工程与自动化学院 专 业 自动化 学 号 201510401308班 级 自动化153 学生姓名 张超 设计时间 2016年9月5日指导教师 线岩团 1.设计题目:题目7:文件加密 文件的传输会有明文和密文的区别,明文发送是不安全的,用一个程序实现发送文件的加密和解密操作。加密算法,密钥设计由同学自己选择现有的加密解密算法或是自己设计。要求:(1)对文件的字符根据加密算法,实现文件加密。 (2)对操作给出必要的提示。(3) 对存在的file1.txt文件,必须先打开,后读写,最后关闭。加密后的文件放在file2.txt。 (4)解密文件保存在file3.txt中。2.设计目的:文件的传输会有明文和密文的区别,明文发送是不安全的,易遭到黑客拦截。现要求编写一个程序实现文本文件的加密和解密操作。3. 要求:(1)用户可选择是“加密文件”还是“解密文件”操作;(2)加密文件:用户输入明文文件名(待加密文件,该文件必须在磁盘存在)和密文文件名(加密后目标文件),系统能够打开明文源文件,每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行加密,加密后存入目标文件中;(3)解密文件:用户输入密文文件名(待解密文件,该文件必须在磁盘存在)和明文文件名(解密后目标文件),系统能够打开密文源文件,每次读取源文件单个字节(直至读到文件结束),并与用户输入的密钥通过异或运算进行解密,解密后存入目标文件中。一、设计思路和分析过程/*采用结构化程序设计思想,把系统的功能划分为哪几个模块,为实现每个功能模块设计了哪些函数及函数的作用说明*/程序分为三个模块:主函数菜单模块、“加密文件”模块、“解密文件”模块。“加密文件”模块对应void fun1()、“解密文件”模块对应fun2()。Fun1()实现“加密文件”,根据要加密文件内容与key异或得到加密文件,并保存的第二个程序中去形成新的加密文件。fun2()计算“解密文件”,根据要解密文件内容与key异或得到解密文件,并保存的第二个程序中去形成新的解密后的文件。二、程序流程图三、程序代码#includevoid fun1()FILE *fp1,*fp2;char key,ch;char filename150,filename250;printf( Please input orginal filenamen:);menu21: gets(filename1);if(fp1=fopen(filename1,rt)=NULL)printf(%s open Error!,filename1);goto menu21;printf( Please input target filenamen:);menu22: gets(filename2);if(fp2=fopen(filename2,wt+)=NULL)printf(%s open Error!,filename2);goto menu22;printf( Please input key:);getche(key);printf(n);while(ch=fgetc(fp1)!=EOF)ch=chkey;fputc(ch,fp2);fclose(fp1);fclose(fp2);printf(Decryption success!n);void fun2()FILE *fp1,*fp2;char key,ch;char filename150,filename250;printf( Please input orginal filenamen:);menu21: gets(filename1);if(fp1=fopen(filename1,rt)=NULL)printf(%s open Error!,filename1);goto menu21;printf( Please input target filenamen:);menu22: gets(filename2);if(fp2=fopen(filename2,wt+)=NULL)printf(%s open Error!,filename2);goto menu22;printf( Please input key:);getche(key);printf(n);while(ch=fgetc(fp1)!=EOF)ch=chkey;fputc(ch,fp2);fclose(fp1);fclose(fp2);printf(Decryption success!n);void fun3()FILE *fp;char ch,filename50;printf(Please enter the file name:);gets(filename);if(fp=fopen(filename,r)=NULL)printf(Cant open this file!);exit(0);ch=fgetc(fp);while(ch!=EOF)putchar(ch);ch=fgetc(fp);fclose(fp);main()menu:printf(Plase choose a option:n); printf(1.Encryption a file.n); printf(2.Decryption a file.n); printf(3.Open the encryption file.n); printf(0.Exit the application.n);switch(getch()case 1:fun1();break;case 2:fun2();break;case 3:fun3();break;case 0:exit(0);goto menu;四、程序的调试过程及运行结果最后的key无法获取,使得其加密的后文件,并未加密,而是实现复制功能。发生错误的原因:(1)由于把gets(filenmaen1);输成了getc(filenmaen1);(2)由于把getche(key);输成了getch(key);1. 程序目录:2.3. 红火 红红火火 日夜 日日夜夜文件加密:(7)、( )已经( )。4.5. 五、给词语加上形容词文件解密a b c d e f g h i j k l m n o p q6.7. 弯弯的小河(月儿、小船) 有趣的问题 难忘的日子打开加密文件单人旁:你、们、他、借、像、做、什、伙、伴、位8. 加密解密text文件暖和的衣裳 暖和的被子 暖和的天气r s t u v w x y z9、区分以下形近字或音近字:五、课程设计总结(4)牧童骑(黄牛),歌声振林越,意欲捕
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内窥镜柜市场分析:预计2031年全球市场销售额将达到2.04亿美元
- ESG与央国企月度报告:5月ESG央国企策略超额收益为1.23%
- 初中思想品德教师工作总结
- 《电力信息系统网络安全等级保护测评报告评审指南》(征求意见稿)
- 工业互联网NFV虚拟化网络在智能工厂中的实践案例分析
- 艺术培训平台用户体验优化与市场竞争力提升报告
- 四季变换食品饮料行业:饮料市场发展趋势与竞争格局分析
- 物联网技术概论 习题与答案
- 智能垃圾分类在2025年商业综合体运营中的应用研究报告
- 交通流量预测在智慧交通系统中的多尺度建模与仿真报告2025
- 河北省邢台市卓越联盟2024-2025学年高二下学期第三次考试(6月)语文试卷(图片版含解析)
- 2025年佛山市南海区民政局招聘残疾人专项工作人员题库带答案分析
- 2025年凉山昭觉县委社会工作部选聘社区工作者题库带答案分析
- 2024北京高考一分一段表
- 公寓中介渠道管理制度
- 出租房合同责任免除协议书
- 中国科技课件
- 2025年希腊语A2等级考试官方试卷
- 地理-2025年中考终极押题猜想(全国卷)
- 2024年广东省新会市事业单位公开招聘辅警考试题带答案分析
- 广安2025年上半年广安市岳池县“小平故里英才”引进急需紧缺专业人才笔试历年参考题库附带答案详解
评论
0/150
提交评论