操作系统课程设计

发布 2022-10-05 11:38:28 阅读 4839

河南城建学院。

操作系统》课程设计报告。

课程名称: 《操作系统》课程设计

设计题目文件加密系统。

指导教师: 耿永军李蓓

班级0844121

学号084412149

学生姓名杨海振

同组人员: 刘小广李鹏姬雪可

计算机科学与工程学院。

2024年6月18日。

前言。网络技术的快速发展,方便了我们的日常生活,加快了工作效率,增进了交流。网络的出现确实给我们带来了很多的便利,但网络安全问题也在时时困扰着我们,病毒、黑客的猖獗,各种威胁之声的不断传出,网络安全问题也就成为了社会关注的重点问题。

文件传输安全就是大众关注的安全问题之一,一份文件可能包含了很多的机密,一旦被黑客窃取,那损失是不可想象的。所以下面我们来谈谈文件加密的相关技术问题。

什么是文件加密呢?文件加密简单地说就是对原来为明文的文件按某种算法进行处理,使其成为不可读的一段**,通常称为“密文”。使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径达到保护数据不被人非法窃取、阅读的目的。

该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

为什么要文件加密呢?加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。一个简单的例子就是密码的传输,计算机密码极为重要,许多安全防护体系是基于密码的,密码的泄露在某种意义上来讲意味着其安全体系的全面崩溃。

通过网络进行登录时,所键入的密码以明文的形式被传输到服务器,而网络上的窃听是一件极为容易的事情,所以很有可能黑客会窃取得用户的密码,如果用户是root用户或administrator用户,那后果将是极为严重的。

解决上述难题的方案就是加密,加密后的口令即使被黑客获得也是不可读的,加密后的标书没有收件人的密钥也就无法解开,标书成为一大堆无任何实际意义的乱码,这样即使被盗也不会有损失。所以加密对于保护文件是相当的重要。

在这里需要强调一点的就是,文件加密其实不只用于电子邮件或网络上的文件传输,其实也可应用静态的文件保护,如超级加密3000就可以对磁盘、硬盘中的文件或文件夹进行加密,以防他人窃取其中的信息。

目录。第一章。系统环境 - 1 -

1.1硬件环境 - 1 -

1.2软件环境 - 1 -

第二章。设计目的 - 2 -

第三章。总体设计 - 3 -

3.1程序设计组成框图 - 3 -

3.2程序流程图 - 4 -

3.3函数调用 - 5 -

第四章。详细设计 - 6 -

4.1主函数功能图 - 6 -

4.2加密函数功能模块 - 7 -

4.3解密函数功能模块 - 7 -

第五章。调试与测试 - 8 -

5.1调试方法 - 8 -

5.2结果分析 - 11 -

第六章。设计中遇到的问题及解决方法 - 12 -

6.1出现的问题 - 12 -

6.2解决方案 - 12 -

第七章。源程序清单和执行结果及分析 - 13 -

7.1源程序清单 - 13 -

7.2程序执行结果分析 - 16 -

第八章。总结、收获和体会 - 19 -

第九章。参考文献 - 20-

内存1gb,处理器1,硬盘(scsi)50gb,网络适配器nat。

linux系统,命令行,vi编译器。

下图为cpu信息:

图1.1cpu信息。

有时我们有些资料不希望别人看到,最常用的方法就是加密。对给定的相关文件进行加密可以对文件进行保护,可以防止某些重要信息不被别人所知道甚至窃取。对文件起到保护作用,可以方便用户使用某些只有自己能知道的信息,能够安全保护文件的相关内容及信息不被外流。

随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。

至今,密码技术是取得信息安全性最有效的一种方法, 密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。

相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、**等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。

系统模块:图3.1系统模块。

main函数模块:

图3.2main函数模块。

图3.4程序流程图。

图3.5函数调用图。

图4.1程序各功能图。

图4.2加密函数执行图。

图4.3解密函数执行图。

在电脑上编写c语言**,先在windows系统下的vc 6.0中编译执行,执行成功后,进行数据测试。测试成功后,将**拷贝到linux系统虚拟机上。

然后在虚拟机上使用vi编译器对c语言**进行编译,存放c语言**的文件名为编译语句为gcc -o jiami

执行**语句为。/jiami。再将被操作的文件建立,对文件进行加密和解密。看文件的状态情况。最后完成调试和测试,程序成功执行,得到正确的结果。

测试结果的分析与讨论:

1.对文件进行测试。

图5.1文件截图。

2.编译并执行程序。

图5.2执行程序截图。

3.得到测试结果。

图5.3程序执行截图。

程序成功运行,对文件的操作如图5.2和5.3所示,成功对文件进行加密和解密。

生成和文件。当一个文件的路径知道的时候就可以对这个文件进行加密,加密的方式可以自己设置。本程序是对目标文件进行加密,然后在加密操作后进行文件删除。

结果如图5.3所示。

测试过程中遇到的主要问题。

利用文件系统的系统调用编程对文件的内容进行加、解密。要求程序从环境的命令行携带4个参数。第一是文件名,第二个是操作方式,第三个是密钥,第四个是加密钥循环使用长度。

其中后两个参数是可以忽略,但对忽略的情况要提供缺省值。在程序运行后,所做的操作出现错误,当四个参数少于两个参数输入时,会出现输入错误。在linux虚拟机中vi编译器编译时会出现错误。

每到程序文件进行修改时,vi编译器中就要重新编译,否则不能执行。还有在命令行中找到文件路径也是很重要的。这次课程设计也有不少的这方面的问题。

解决措施。按部就班地执行程序,还有文件的创建,路径的寻找,一次一次的实验。还有程序的完善,在这次课程设计中,程序也是一遍一遍地被修改。

有的是界面的美化问题、程序的功能问题还有执行问题。都是经过一点一点的修改而来的,最终,终于做好了这次的课程设计。耐心、细心和发现问题的能力是做程序的根本。

本设计采用按字符异或的加密算法对文档进行加密形成密文,而后,用同样的算法配合密钥和密钥循环长度可以对密文进行解密。程序从命令行携带文件名(in)、操作方式(op)、密钥(pwd)、加密钥循环使用长度(length)四个参数,其中pwd和length可以忽略,程序为忽略的情况提供了缺省值。若命令行带入的参数少于两个,即没有参数或只有第一个参数,程序提供了输入块对四个参数进行输入。

在设计过程中,主要遇到的问题就是文件的操作问题,以前学习的时候,对文件的操作掌握的不是很好,但在做课程设计时会常常用到,经认真看书后解决了这个问题。还有就是对读取文本文件中的内容不停止(一直读下去)的问题。

在这个编程中,在设计时存在逻辑错误,虽然源**没错,不过在运行时就有问题,在调试中前后函数的功能要对应,要不然就不能正确运行,还有一些基本的符合不符合规范,注意英文字母的书写。注意书写**的规范,细心观察程序的逻辑结构,认真分析程序的流程。一步一步地对**进行完善和功能的升级。

同组的人员共同讨论,集思广益,规范**,完善功能。

#include<>

#include<>

#include<>

void jiami(char *in, int i,char *pwd,int length); 函数声明*/

void jiemi(char *in, int k, char *pwd,int length); 函数声明*/

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....