文件加密与解密C语言课程设计报告(完整的报告论文哦)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

赣南师范学院

物理与电子信息学院

课程设计Ⅲ——C语言程序课程设计

题目:文件移位加密与解密

*****

学号:*********

完成日期:2010年9月9日

《C语言程序》课程设计任务书

目录

课程设计设计题目 (1)

课程设计任务书 (2)

摘要 (2)

关键词 (2)

1. 系统功能分析 (4)

1.1 设计目的 (4)

1.2 功能描述 (4)

2. C语言程序编写 (4)

2.1程序流程图 (4)

2.2 程序源代码 (5)

3. C语言程序功能示例 (7)

4. 设计总结 (13)

5. 参考文献 (14)

课程设计成绩报告单 (15)

摘要

随着现代化校园的发展,人们的文本文件需要更简便、安全和可靠的加密管理模式。设计一个基于c语言的文本文件加密及解密软件,可以方便对文本文件的加密与解密。本设计实现了文本文件的解密及解密,运行软件之后只需输入任意一个文本文件的文件名及后缀名即可对该文本文件进行加密或解密操作。本设计的加密与解密系统,使用了面向各类文件的方法,运用Microsoft Visual C++ 6.0实现具有加密、解密、帮助信息、读取文本文件、显示结果、退出等功能的文件加密与解密系统。

关键词

C语言;

程序设计;

密码;

移位;

加密;

文件加密与解密;

一、系统功能分析

1.1设计目的

本课程设计的目的是为了保证个人数据资料不被他人非法窃取使用,保护个人的隐私及重要文件!

1.2功能描述

本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本身的其他英文字母以达到文件加密的目的。整个系统由以下几大功能模块组成。

1.2.1主控选择模块

此模块是主程序操作界面,供用户进行选择。用户可选择执行加密或解密操作。

1.2.2加密模块

加密模块主要是完成对文件的加密操作。从外部文件中读入任意一个文件并将它加密并显示出来!

1.2.3解密模块

解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。从外部文件中读入任意一个文件并将它解密并显示出来!

二、C语言源程序编写:

2.1 程序流程图:

本程序函数流程图

2.2 程序源代码:

//**题目26.文件移位加密与解密**//

#include

#include

#define M 1000 //预设一个指定文件大小的数字M,方便以后改变void main()

{

FILE *fp;

char TEXT[M]; // M 的数值可以根据文件的大小随意改变

char xuhu;

int n,key;

printf("\n$****** 26.文件移位加密与解密******$"); // 软件信息

printf("\n$*********** 07 电信本*************$"); //

printf("\n$************* 许浒***************$"); // 欢迎界面

printf("\n$********** 070802049 ************$"); //

printf("\n");

while(1)

{

printf("\n请输入文件名:");

scanf("%s",TEXT);

if((fp=fopen(TEXT,"r"))==NULL) //软件提示信息

{

printf("无法打开文件\n");

exit(0);

}

printf("请输入密码:"); //软件帮助信息

scanf("%d",&key);

key=key%26;

printf("加密请输入1,解密请输入2:");

scanf("%d",&n);

printf("\n");

if(n==1) // n=1时,执行加密算法

{

while((xuhu=fgetc(fp))!=EOF) //使得读入数据出错,停止读数据

{

if(xuhu>='A'&& xuhu<='Z') // 分a-z和A-Z两种情况加密文件内容{

xuhu=xuhu+key;

if(xuhu>'Z')

{

xuhu=xuhu-26;

}

}

if(xuhu>='a'&& xuhu<='z')

{

xuhu1=(int)xuhu+key;

if(xuhu1>122)

{

xuhu=(char)(xuhu1-26);

}

else xuhu=(char)xuhu1;

printf("%c",xuhu);

}

n=0;

fclose(fp);

printf("\n");

}

else if(n==2) // n=2时执行解密算法

{

while((xuhu=fgetc(fp))!=EOF) //使得读入数据出错,停止读数据

{

if(xuhu>='a'&& xuhu<='z')

{

xuhu=xuhu-key;

if(xuhu<'a')

xuhu=xuhu+26;

}

if(xuhu>='A'&& xuhu<='Z') // 分a-z和A-Z两种情况解密文件内容{

xuhu=xuhu-key;

if(xuhu<'A')

xuhu=xuhu+26;

}

printf("%c",xuhu);

}

n=0;

fclose(fp);

printf("\n");

}

printf("\n*-·-·-感谢您的使用,欢迎再次使用-·-·-*\n\n"); // 使用完感谢语! }

}

//*****************结束*********************//

本课程设计的源程序具有可读性强、文件大小及内容可灵活改变和适用范围广等诸多优点!

三、C语言程序功能示例:

相关文档
最新文档