课程设计报告

发布 2022-10-01 04:26:28 阅读 7768

单位信息学院(系)

专业。学号 20082408

学生姓名王万军

指导教师刘辉

完成日期年月日。

摘要。在这个信息时代,我们常常有大量的数据信息需要传输或交换。为了保证自己的数据不被别人非法地窃取,有必要对数据文件进行适当地加密。

本程序采取一定的算法对数据进行加密和解密,生成一个*.txt乱码文件和一个密码文件,同时将源文件删除。本程序分三个模块进行编写。

第一个是加密模块,它是用来对文件进行加密,产生乱码*.txt文件的;第二个是解密模块,它是用来对文件进行解密的。第三个是主控函数,对所要执行的操作进行选择。

本程序虽然还不够完善,在执行程序过程中还存在些许问题,但已基本上实现了对文件的加密解密功能,在对个人信息保护方面起到了一定的作用。

目录。1.选题的。

2.系统功能需求分析 16

3.系统设计 26

4.系统实现 40

4.总结 40

5.1总结 40

5.2 存在的主要问题 40

参考文献 41

1.1个人信息。

班级:计0805-1 学号:2082408 姓名:王万军。

1.2课程题目。

加密软件设计。

1.3选题原因。

通过学习计算机网络安全技术,对数据加密技术有了一些了解,他是指对网络中所发送的明文消息用加密密钥加密成明文进行传送,接收方通过解密密钥进行解密再现明文消息,从而保证传输过程中密文信息即使被泄露,在无密钥的情况下仍是安全的;学习了加密解密算法以及密钥压缩置换等知识,加强运用c语言,c++等以前学习的知识,增强学习与实践相结合的能力。

1.4知识连接及时间安排。

分支、循环、数组、函数等的综合运用;字符处理函数的使用。

第1天:选题、查阅资料;

第2天:确定设计方案;

第3-8天:方案的实现、调试;

第9-10天:撰写课程设计报告初稿并修改;

1.5参考文献。

c程序设计(第三版谭浩强著清华大学出版社。

visual c++ 6.0 项目开发指南武装张碧霞著国防工业出版社。

c语言趣味程序百类精解。

c语言开发实类详解。

部分网络资源

第二章系统功能需求分析。

2.1设计目的。

设计本程序是为了保证个人数据资料不被他人非法窃取盗用,为个人信息安全提供保障;能够快速准确的对文件进行加密,并且保证信息完整性。主要实现对文件的加密与解密。。

2.2功能描述。

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

2.2.1主控选择模块。

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

2.2.2加密模块。

加密模块主要是完成对文件的加密操作。此模块中用户选择加密文件后可自定义文件名,让其按自己所定义的文件名输出。但文件类型不能更改,必须是以*.txt输出。

2.2.3解密模块。

解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。同样用户只能对*.txt文件进行转换,生成一个新的需自定义文件名的*.

txt文件。用户必须输入正确的密码被系统确认后,程序才会将密文转换,否则程序会提示“密码错误,请重新输入!”

第三章总体设计。

3.1主控函数执行流程。

加密解密系统主流程如下图所示。此程序开始即进入主控选择界面,进行按键判断。

在判断键值时,有效的输入为0~2中的任意值,若按其他键则程序会提示选择错误,请重新选择;若选择1,则调用jiami()函数,执行对文件的加密操作;若选择2,则调用jiemi()函数,执行对文件的解密操作。选择0,退出程序。

3.2 加密模块。

加密模块主要实现将给定文件进行加密处理,通过一定的算法使其以不被识别的乱码输出。当执行加密操作时,系统会提示输入要加密的文件名。加密文件只能是以*.

txt命名,如果输入有误,系统会提示“您的路径有误,请重新进入。”然后按系统提示用户自定义输出文件名及密码。系统用fgetc(f1)(f1为文件指针)函数读入文件,并用fputc()输出。

然后系统会删除源文件以确保安全。若操作正确,系统会提示加密成功并进入主菜单。

3.3解密模块。

解密模块是实现对已加密文件的解密工作,将密文以可识别的明文输出。输出的文件名同样需要用户自定义。解密过程与加密过程类似。

在jiami()函数中生成了一个密码文件,解密时用if(strcmp(mima2,mima1)==0)进行判断,如果密码一致则执行解密操作,否则提示“密码错误,请重新输入!”解密成功后系统会删除密文及密码。

第四章系统实现。

4.4**实现。

#include<>

#include<>

#include<>

#include<>

char ch,mima1[40],x;

jiami()

int k,l;

char fn[20],fs[20];

file *f1,*f2,*f3;

printf("输入要打开的文件夹名称:")

scanf("%s",fn);

if((f1=fopen(fn,"r"))null)

printf("输入要保存的文件夹名称:")

scanf("%s",fs);

if((f2=fopen(fs, "w"))null)

if((f3=fopen(""w"))null)

printf("输入密码:")

scanf("%s",mima1);

if(fwrite(&mima1,sizeof(mima1),1,f3)==1)

l=strlen(mima1);

k=0;ch=fgetc(f1);

while(ch!=eof) /文件没有到底就继续 ,eof文件的底部*/

fclose(f1);

fclose(f2);

system("del ")

printf("加密成功,请在该软件目录找到您加密的文件。");

getch();

jiemi()

int k,l;

char fn[40],fs[40];

char ch,mima2[40],x;

char mima3[40];

file *f1,*f2,*f3;

printf("输入要解密的文件夹名称:")

scanf("%s",fn);

if((f1=fopen(fn,"r"))null)

printf("输入您要解密到的文件夹名称:")

scanf("%s",fs);

if((f2=fopen(fs,"w"))null)

asd:f3=fopen(""r");

fread(&mima3,sizeof(mima3),1,f3);

printf("输入密码:")

scanf("%s",mima2);

if(strcmp(mima2,mima3)==0)

l=strlen(mima2);

k=0;ch=fgetc(f1);

while(ch!=eof)

k=k%l;

fputc(ch^mima2[k],f2);

ch=fgetc(f1);

k++;

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...