沈阳航空航天大学。
课程设计。学号: 2010041101010
班级: 04110101
姓名: 冯学先
指导教师: 尹航
2024年6 月22 日。
沈阳航空航天大学。
课程设计任务书。
院系:材料科学与工程专业:金属材料工程班级:04110101
学号:2010041101010 题目:简单的对称数据文件加密。
一、课程设计时间。
2011~12第2学期第16周,即6月18~22日,共计5天,20学时。
二、课程设计内容。
用c语言编写软件完成以下任务:
已知文件中有5个加密后的整型数据(密文,显示为乱码),实现如下功能:
1)把这些数据读入到数组中(用fread函数),解密后并显示在屏幕上。观察。
2)自行输入一组整数,加密并保存到文件中。观察。
提示:加密解密算法均采用“异或”,密钥为(key=5)。一个整数(明文)与另一个整数(密钥)“异或”运算1次变成密文,密文和密钥再“异或”运算1次又可变成原来的整数(明文),即:
若a^k的值为t, 则t^k的值必为a。请参考教材中有关“位运算”的内容。
三、课程设计要求。
1. 程序质量:
贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。
用户界面中的菜单至少应包括“信息录入”、“学生选择教师”、“学生选课查询(根据学号)”、退出”4项。
**应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字。
指导教师学生签名:__
5、成绩:__
六、教师评语:__
目录。一、需求分析 1
二、设计分析 3
三、主要界面截图 5
四、技术要点 6
五、个人总结 7
六、参考文献 8
七、源程序 9
根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析:
该系统是一个读取文件后,进行置换加密,然后解密,存储文件的系统,系统应该具有安全、稳定、功能齐全的特点。
1. 安全性分析。
程序的置换加密和解密数据涉及到文件中的所有整形数据,数据量较大且是一种基础性数据,能够加密进行读取和解密读取和存储,所以要通过设密等手段确保数据的安全读取和存储。
2. 稳定性分析。
指系统比较稳定和安全,只要是用户的合理操作,系统都应给出合理正确的回应,还有进行其他另外的操作,而不是出现令用户感到意外的系统错误或系统崩溃。
3. 主要功能分析。
1)读取文件数据:输入密匙即可显示已存入的明文和数据。
2)数据加密:输入一些数据并输入密匙,即可对文件进行加密。
3)数据的解密:选择想要进行的操作,并根据系统提示输入密匙,回车以后即可对数据进行解密。
4)程序的退出:在程序进行完毕之后可以进行退出的选项。
二、设计分析。
经过对程序设计题目的分析可知,整个程序的设计实现大致分为两个功能模块,其中每一个模块对应一个函数,分别是位为:加密文件读取函数(主要功能是对应用对称加密方式加密的文件读取)文件加密写入函数:(主要功能是对已知的明文文件进行对称式加密)
1、加密文件读取函数图。
2、文件加密写入程序图。
3、主要界面截图。
文件加密及读取功能演示图。
四、技术要点。
1、文件的加密
对与想要加密的字符可以根据程序的提示输入字符和设置的密匙对字符进行加密 。通过c语言中位运算相关的知识对文件进行异或加密,在进行设计之前要清晰的了解及贯彻其核心和要点。异或的核心是判断两个相应的位值是否为“异”,本课程通过两个数据之间的位运算来使数据进行转化,从而达到加密的目的。
2、文件的解密。
实现从系统中已经加密好的文件的解密,将已经加密存储好的文件再次将文件中的所有字符显示出来,使文件还原到原来的状态,进而进行文件的解密操作。再次通过异或运算,将已加密的文件加以转化,使其变回加密前的明文,达到解密的目的。
本次c语言课设使我在自主的程序设计中更加深刻的理解了c语言程序设计的要点,以及设计程序过程中经常出现的错误,增强了我编写简单程序的能力,为我以后自主设计程序打下了良好地基础,而且让我知道了学习最重要的是要学会如何灵活应用,而不能仅仅将学习知识停留在比较基本的层面上。 如何把所学习的知识灵活的贯穿在一起,是今后我们学习中必须掌握的。只有做到了这一点才能保证自己无论做什么事情多可以得心应手,否则只会感觉到“书到用时方恨少”。
2]张天津,于志平。电子邮件传输中加密与解密的实。
[j].计算机工程,2003,29(4).
3]王衍波,薛通。应用密码学[m].北京:机械工业出版。
社,2003.
4] 胡志远。口令破解与加密技术[m].北京:机械工业出。
版社,2003.
5] 段钢。加密与解密[m].北京:电子工业出版社,2003.
#include <>
#include ""
#include ""
void load()/读取中的密码。
file *fp;
int a[10],i;
if((fp=fopen(""r"))null)
fread(a,5,5,fp);
fclose(fp);
for(i=0;i<5;i++)
printf("");
void s**e()/生成myfile,txt文件。
file *fp;
int a[10],i;
if((fp=fopen(""w"))null)
printf("请输入需要加密的5组整型数据,中间用空格隔开:");
scanf("%d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4]);
for(i=0;i<5;i++)
fwrite(a,5,5,fp);
fclose(fp);
void menu()/菜单显示。
printf("欢迎使用文件加密解密系统n");
printf显示数据请按1");
printf生成文件请按2");
printf退出请按0");
void main()
int asd;
for(;;
case 0: exit(0);
课程设计说明书
材料化学。涂装工艺。班级 材料化学081 姓名。学号。指导教师。时间 二 一一年七月八日 19 09 56 目录。表面工程课程设计任务书 1 1 概况 2 1.1 设计任务书及目标 2 1.2 设计任务书 2 1.3 设计单位概况 2 1.4 设计原则 4 1.5 设计范围 4 1.6 设计技术标准...
课程设计说明书
一 题目 离合器接合叉零件加工工艺规程 及车 25外圆及端面夹具设计 二 时间 自年月日至年月日止。三 要求 1 编制离合器接合叉加工工艺规程一套。2 绘制离合器接合叉零件图一张。3 绘制夹具结构装配图一张。4 绘制夹具体图一张。5.编写设计说明书一份。目录。序言1 第一章零件分析2 1.零件的作用...
课程设计说明书
河南科技学院。机电一体化课程设计。模块化生产系统设计 无杆缸传送站。学生姓名 王坤朋。所在院系 机电学院。所学专业 机电技术教育。导师姓名 胡楠李海波。完成时间 2018 年6月22日。摘要。模块化生产系统主要模拟工业生产过程中完成零件钻孔加工和装配的系列过程,该系统共有八个工作站,分别为上料检测站...