文件移位加密与解密.docx
- 文档编号:965239
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:11
- 大小:296.72KB
文件移位加密与解密.docx
《文件移位加密与解密.docx》由会员分享,可在线阅读,更多相关《文件移位加密与解密.docx(11页珍藏版)》请在冰豆网上搜索。
文件移位加密与解密
河南理工大学
计算机科学与技术学院
课程设计报告
2010—2011学年第一学期
课程名称
设计题目
学生姓名
学号
专业班级
指导教师
2011年01月08日
●封面……………………………01
●设计任务书……………………03
●功能设计………………………03
●结构流程图……………………05
●程序实现代码…………………05
●程序设计总结…………………08
●个人总结………………………12
●致谢……………………………13
●参考文献………………………13
课程设计任务书
题目
文件移位加密与解密
设
计
目
的
1)文件加密;
2)文件解密。
备注:
将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密钥(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。
例如:
加密:
设原文为abcdef,密钥为5,则有abcdef每个字母按字母表向后移动5们(注:
z后接a)可得到密文(乱码)fghijkl;对该文件解密:
文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5位(注a后接z),可得到原文abcdef。
涉及
知识点
文件指针,文件的读/写,出错检测,分支控制,循环控制,强制类型转换,ASC||码表,MS-DOS字符窗口下执行程序。
功能设计
●设计目的
本课程设计的目的是为了保证个人数据资料不被他人非法窃取使用,保护个人的隐私及重要文件!
●功能描述
本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本身的其他英文字母以达到文件加密的目的。
整个系统由以下几大功能模块组成。
1.主控选择模块
此模块是主程序操作界面,供用户进行选择。
用户可选择执行加密或解密操作。
2.加密模块
加密模块主要是完成对文件的加密操作。
从外部文件中读入任意一个文件并将它加密并显示出来!
3.解密模块
解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。
从外部文件中读入任意一个文件并将它解密并显示出来!
结构流程图
程序实现代码
#include
#include
#include
#defineM1000//预设一个指定文件大小的数字M,方便以后改变
voidmain()
{
FILE*fp;
charch,TEXT[M];//M的数值可以根据文件的大小随意改变
intch1,n,key;
cout<<"文件移位加密与解密"< cout<<"请将加密(解密)文件复制至“文件移位加密与解密”文件夹中,且该文件为纯文本格式。 "< while (1) { cout<<"请输入文件名: "< cin>>TEXT; if((fp=fopen(TEXT,"r"))==NULL) { cout<<"openfilefail"< exit(0); } cout<<"请输入密码: "< cin>>key; key=key%26; cout<<"加密请输入1,解密请输入2: "< cin>>n; if(n==1)//n=1时,执行加密算法 { cout<<"加密结果: "; while((ch=fgetc(fp))! =EOF) { if(ch>='A'&&ch<='Z')//加密文件内容为A-Z { ch=ch+key; if(ch>'Z') { ch=ch-26; } } if(ch>='a'&&ch<='z')//加密文件内容为a-z { ch1=(int)ch+key; if(ch1>122) { ch=(char)(ch1-26); } elsech=(char)ch1; } cout< } cout< n=0; fclose(fp); } elseif(n==2)//n=2时,执行解密算法 { cout<<"解密结果: "; while((ch=fgetc(fp))! =EOF) { if(ch>='A'&&ch<='Z')//解密文件内容为A-Z { ch=ch-key; if(ch<'A') ch=ch+26; } if(ch>='a'&&ch<='z')//解密文件内容为a-z { ch=ch-key; if(ch<'a') ch=ch+26; } cout< } cout< n=0; fclose(fp); } cout< cout< cout< cout<<"-·-·-感谢您的使用,欢迎再次使用-·-·-"< } } 程序设计总结 ●文件移位解密: 1.运行程序后,如图示: 2.输入文件名(此程序附带文件默认为(un)code.txt),如图示: 3.输入密码,如图示: 4.选择解密,如图示: ●文件移位加密 1.运行程序后,如图示: 2.输入文件名(此程序附带文件默认为(un)code.txt),如图示: 3.输入密码,如图示: 4.选择加密,如图示: 个人总结 正如早年瑞士联邦技术学院沃思博士所提出的那个著名的公式: “程序=算法+数据结构”,我在本次程序设计中深刻的体会到了算法的重要性。 当数次尝试确定算法后,对算法的高级语言实现变得同等重要。 在实际的编程过程中,那些语法错误多次影响到编译的通过,而这些错误正是我在平常学习中忽略的,比如运算符的优先级等。 通过此次程序设计,我将课本上的理论知识与实际有机的结合起来,既加深了自己对C++知识的理解和掌握,也锻炼了自己的分析解决实际问题的能力和创新意识。 由于受到自己专业知识的限制,这次设计的程序有很多缺陷,比如界面不够美观,功能不够完善等。 在接下来的学习生活中,我应该加强专业知识的学习,力争自己有个大的提高。 致谢: 衷心感谢姜国权老师的指导 衷心感谢同学们的帮助 参考文献: [1]广树建王钰琪,新编C/C++程序设计教程,华南理工大学出版社 [2]贾宗璞许合利,C语言程序设计,中国矿业大学出版社 [3]郭继展郭勇苏辉,程序算法与技巧精选,机械工业出版社 欢迎您的下载, 资料仅供参考! 致力为企业和个人提供合同协议,策划案计划书,学习资料等等 打造全网一站式需求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 移位 加密 解密