操作系统文件加密系统课程设计报告
C文件加密课程设计

C 文件加密课程设计一、课程目标知识目标:1. 让学生掌握C语言中文件操作的基本知识,包括文件的打开、读取、写入和关闭。
2. 让学生理解加密算法的基本原理,学会在C语言中实现简单的文件加密和解密功能。
3. 让学生了解不同的加密方法和其在现实生活中的应用场景。
技能目标:1. 培养学生运用C语言进行文件操作的能力,并能将其应用于加密和解密过程中。
2. 培养学生通过编程解决实际问题的能力,例如设计一个简单的文件加密工具。
3. 提高学生的逻辑思维能力,使他们能够分析并优化加密算法。
情感态度价值观目标:1. 培养学生对计算机安全和个人隐私保护的兴趣,增强信息安全意识。
2. 激发学生的创新意识,鼓励他们探索计算机科学领域的未知问题。
3. 培养学生的团队协作精神,使他们学会在项目合作中发挥各自的优势。
本课程针对高年级学生,在掌握了C语言基本知识的基础上,通过本课程的学习,使学生能够将所学知识应用于实际加密场景,提高学生的编程实践能力和信息安全意识。
在教学过程中,注重理论与实践相结合,鼓励学生动手实践和自主探索,以培养学生的创新精神和解决问题的能力。
通过分解课程目标为具体的学习成果,教师可针对性地进行教学设计和评估,确保课程的实用性和有效性。
二、教学内容1. 文件操作基础知识:文件的打开、读取、写入和关闭操作,文件指针的概念和使用。
2. 加密算法原理:对称加密和非对称加密的原理介绍,重点讲解对称加密算法如DES、AES的加密流程和密钥管理。
- 教材章节:第五章“数据加密与安全”第1-2节。
3. C语言实现文件加密:运用C语言编写文件加密和解密程序,包括算法的选择、密钥生成和文件处理。
- 教材章节:第五章“数据加密与安全”第3-4节。
4. 加密算法应用案例分析:分析实际应用中的加密场景,如网络通信、文件存储等,了解加密技术在生活中的应用。
- 教材章节:第五章“数据加密与安全”第5节。
5. 实践项目:设计一个简单的文件加密工具,实现文件的加密、解密和密钥管理功能。
文件加密操作实验报告

文件加密操作实验报告文件加密操作实验报告一、引言文件加密是一种常见的数据安全保护手段,通过将文件内容转换为不可读的形式,以防止未经授权的访问和使用。
本实验旨在探究不同的文件加密操作方法,并评估其安全性和效果。
二、实验目的1. 了解常见的文件加密算法和技术;2. 掌握文件加密操作的基本步骤和流程;3. 比较不同加密算法对文件加密效果和性能的影响;4. 分析不同加密算法的优缺点,并提出改进方案。
三、实验方法1. 实验环境:使用计算机及相关软件工具进行实验;2. 实验材料:选择多个不同类型的文件作为实验对象;3. 实验步骤:3.1 选择合适的加密算法:对称加密算法(如DES、AES)、非对称加密算法(如RSA)或混合加密算法;3.2 生成并保存秘钥:根据选定的算法生成相应长度的秘钥,并保存在安全位置;3.3 加密文件:使用选定的算法和秘钥对待加密文件进行处理,生成相应的加密文本或二进制数据;3.4 解密文件:使用相同的算法和秘钥对加密文件进行解密,恢复原始文件;3.5 分析结果:比较加密前后文件的差异,评估加密算法的效果和性能。
四、实验结果1. 对称加密算法:4.1 DES加密:4.1.1 步骤:选择一个8字节的秘钥,使用DES算法对待加密文件进行处理;4.1.2 结果:生成一个与原始文件大小相同的加密文件;4.1.3 分析:DES算法具有较高的安全性和可靠性,但速度较慢; 4.2 AES加密:4.2.1 步骤:选择一个16字节、24字节或32字节的秘钥,使用AES算法对待加密文件进行处理;4.2.2 结果:生成一个与原始文件大小相同的加密文件;4.2.3 分析:AES算法在安全性和速度方面都表现优秀,是目前最常用的对称加密算法之一。
2. 非对称加密算法:4.3 RSA加密:4.3.1 步骤:生成公钥和私钥对,并使用公钥对待加密文件进行处理;4.3.2 结果:生成一个较大且与原始文件大小不同的加密文件;4.3.3 分析:RSA算法具有较高的安全性,但加密和解密速度较慢,适用于对小文件或敏感信息进行加密。
文件加密java课程设计

文件加密 java课程设计一、课程目标知识目标:1. 让学生理解文件加密的基本概念,掌握相关的理论知识;2. 引导学生掌握Java语言实现文件加密的核心技术,如对称加密、非对称加密等;3. 让学生了解不同加密算法的优缺点,并能够根据实际需求选择合适的加密算法。
技能目标:1. 培养学生运用Java语言编写文件加密程序的能力;2. 培养学生分析问题、解决问题的能力,使其能够在实际项目中应用文件加密技术;3. 培养学生独立调试和优化代码的能力。
情感态度价值观目标:1. 培养学生对信息安全领域的兴趣,激发其学习热情;2. 培养学生具备良好的团队协作精神,使其在项目实践中能够与他人共同进步;3. 培养学生遵守法律法规,尊重网络安全,树立正确的价值观。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握文件加密技术;2. 学生特点:学生具备一定的Java语言基础,对信息安全有一定了解,但缺乏实际项目经验;3. 教学要求:注重理论与实践相结合,以项目为导向,引导学生主动探究,培养其解决问题的能力。
1. 熟练掌握文件加密的基本概念和理论知识;2. 能够运用Java语言编写对称加密和非对称加密的文件加密程序;3. 能够分析不同加密算法的优缺点,并根据实际需求选择合适的加密算法;4. 培养良好的团队协作精神和遵守法律法规的意识。
二、教学内容1. 文件加密基础理论:- 加密概念与分类- 对称加密算法(如AES、DES)- 非对称加密算法(如RSA、ECC)- 哈希算法(如MD5、SHA)2. Java语言文件加密实现:- Java加密技术概述- 对称加密算法的Java实现- 非对称加密算法的Java实现- 哈希算法的Java实现3. 加密算法应用与案例分析:- 加密算法在实际项目中的应用场景- 分析不同加密算法的优缺点- 案例分析:文件加密与解密实现4. 教学内容安排与进度:- 第一周:文件加密基础理论- 第二周:对称加密算法的Java实现- 第三周:非对称加密算法的Java实现- 第四周:哈希算法的Java实现及加密算法应用与案例分析5. 教材章节及内容:- 第一章:引言与基础概念- 第二章:对称加密算法- 第三章:非对称加密算法- 第四章:哈希算法- 第五章:Java加密技术应用与实践教学内容科学性和系统性保障:1. 按照从理论到实践、由浅入深的顺序组织教学内容;2. 结合实际案例,使学生能够更好地理解和掌握加密技术;3. 强调加密技术在信息安全领域的重要性和实际应用,提高学生的应用能力。
文件加密的实验报告

一、实验目的1. 理解文件加密的基本原理和重要性。
2. 掌握使用加密工具对文件进行加密和解密的方法。
3. 提高对数据安全性的认识和实际操作能力。
二、实验环境1. 操作系统:Windows 102. 加密工具:TrueCrypt3. 实验材料:待加密文件(如文档、图片等)三、实验内容1. 理论学习(1)文件加密的基本原理:文件加密是通过将原始文件内容进行转换,使得只有拥有正确密钥的人才能解密还原原始文件的过程。
(2)加密算法:常见的加密算法有AES、DES、RSA等,其中AES加密算法因其安全性高、速度快而被广泛应用。
2. 实验步骤(1)准备实验材料:选择一个待加密的文件,如Word文档、图片等。
(2)安装TrueCrypt软件:从官方网站下载TrueCrypt软件,安装并运行。
(3)创建加密文件容器:在TrueCrypt软件中,点击“创建容器”,选择“标准TrueCrypt容器”作为加密方式,设置容器大小和加密算法。
(4)将文件放入加密容器:将待加密的文件拖拽到加密容器中,此时文件将被自动加密。
(5)保存加密文件:将加密后的文件保存到安全位置。
(6)解密文件:在TrueCrypt软件中,选择加密文件容器,输入密码,点击“打开容器”,即可解密文件。
3. 实验结果(1)加密文件:实验成功将待加密文件加密,并生成了加密文件容器。
(2)解密文件:使用正确密码成功解密加密文件,验证了加密和解密过程的有效性。
四、实验分析1. 文件加密的重要性(1)保护隐私:加密文件可以有效防止他人未经授权访问和篡改文件内容,保护个人隐私。
(2)数据安全:在数据传输过程中,加密文件可以防止数据被截获和篡改,提高数据安全性。
(3)合规要求:某些行业或组织对数据安全有严格要求,加密文件可以帮助企业或个人满足合规要求。
2. TrueCrypt加密工具的特点(1)免费:TrueCrypt是一款免费的开源加密软件,用户可以免费下载和使用。
操作系统文件加密系统课程设计报告

河南城建学院《操作系统原理》课程设计报告书班级:0834131专业:信息管理与信息系统(本科)课程名称:操作系统原理指导教师:魏新红设计题目:文件加密储存学号:姓名:同组人员:计算机科学与工程学院2015年12月前言随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。
文件的加密主要是由加密算法实现,加密算法有多种,本程序设计对文件的加密使用的是最基础的异或加密算法与防射函数加密算法共同对文件进行双层加密。
加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密技术包括两个元素:算法和密钥。
算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。
在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全.C语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。
本程序充分利用C语言的特点,针对当下社会比较重视的文件加密,设计了本程序。
使用本程序可以对txt,word 等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。
目录一、系统环境......................................................................................... - 2 -二、设计目的....................................................................................... - 2 -三、总体设计......................................................................................... - 3 -四、详细设计......................................................................................... - 5 -4.1加密算法.................................................................................... - 5 -4.2系统调用.................................................................................... - 5 -五、调试与测试..................................................................................... - 7 -六、遇到的问题及解决方案.............................................................. - 10 -七、程序源代码................................................................................... - 10 - 心得体会............................................................................................... - 16 - 参考文献............................................................................................... - 17 -一、系统环境Windows平台下安装VMware虚拟机来搭建Linux平台,操作系统环境是Red Hat Linux 9,语言开发环境是Linux的GNU C或C++。
文件加密文件解密课程设计

文件加密文件解密课程设计一、课程目标知识目标:1. 学生能理解文件加密与解密的基本概念,掌握相关的理论知识。
2. 学生能掌握至少两种文件加密与解密的方法,并了解其原理和适用场景。
3. 学生能了解加密技术在信息安全管理中的重要性。
技能目标:1. 学生能够运用所学知识,使用相关工具或编程语言实现文件的加密与解密。
2. 学生能够分析不同的加密场景,选择合适的加密方法进行操作。
3. 学生能够通过实际操作,提高解决问题的能力和动手实践能力。
情感态度价值观目标:1. 学生能够认识到信息安全的重要性,增强网络安全意识。
2. 学生能够培养团队协作精神,通过小组讨论和实践,共同解决问题。
3. 学生能够培养创新思维,积极探索加密技术在实际生活中的应用。
课程性质:本课程为信息技术课程,旨在让学生掌握文件加密与解密的基本知识,提高信息安全意识。
学生特点:学生为八年级学生,对信息技术有一定的基础,具备基本的计算机操作能力,对新鲜事物充满好奇。
教学要求:结合学生特点,采用理论讲解与实际操作相结合的方式进行教学,注重培养学生的动手实践能力和创新思维。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,提高课堂互动性。
通过课程学习,使学生能够达到上述课程目标,并在实际生活中应用所学知识。
二、教学内容1. 文件加密与解密基本概念:讲解加密、解密的定义,介绍加密技术在信息安全中的作用。
- 教材章节:第三章第五节《加密与解密技术》- 内容列举:加密技术发展简史,加密算法分类,加密与解密的基本过程。
2. 常用加密算法介绍:讲解对称加密和非对称加密的原理,以AES和RSA算法为例,分析其优缺点及应用场景。
- 教材章节:第三章第六节《常见加密算法》- 内容列举:AES算法原理,RSA算法原理,加密算法在实际应用中的选择。
3. 文件加密与解密操作实践:指导学生使用相关工具或编程语言实现文件的加密与解密。
- 教材章节:第三章第七节《加密与解密工具的使用》- 内容列举:工具软件介绍,编程语言实现加密与解密,实际操作步骤。
文件加密操作实验报告

文件加密操作实验报告概述文件加密是一种保护数据安全的重要手段,能够将敏感信息转化为无意义的字符序列,防止信息被非法获取和篡改。
本实验旨在探索文件加密的原理、方法和应用,并通过具体实例演示文件加密操作的实施过程。
原理介绍文件加密的基本原理是通过一定的算法将原始数据转化成难以理解的密文,只有经过相应的解密算法才能将密文恢复成可读的明文。
常见的加密算法如对称加密算法、非对称加密算法和哈希算法等。
1. 对称加密算法对称加密算法使用相同的密钥进行加密和解密操作。
常用的对称加密算法有DES、AES等。
其流程如下: 1. 选择一个密钥。
2. 将明文划分为固定长度的数据块。
3. 对每个数据块进行加密,生成对应的密文。
4. 将密文传输或保存。
5. 接收方使用相同的密钥对密文进行解密,恢复成明文。
2. 非对称加密算法非对称加密算法使用一对密钥,分别为公钥和私钥。
公钥负责加密,私钥负责解密。
常见的非对称加密算法有RSA、DSA等。
其流程如下: 1. 生成一对密钥,包括公钥和私钥。
2. 将公钥传输给加密方,私钥保密不公开。
3. 加密方使用公钥对明文进行加密,生成密文。
4. 密文传输给解密方。
5. 解密方使用私钥对密文进行解密,得到明文。
3. 哈希算法哈希算法将任意长度的数据转化为固定长度的哈希值,具有不可逆、唯一性和固定性的特点。
常用的哈希算法有MD5、SHA-1等。
其流程如下: 1. 将原始数据作为输入。
2. 哈希算法对输入数据进行计算,生成哈希值。
3. 可以通过哈希值验证数据的完整性,但无法从哈希值反推原始数据。
4. 哈希算法具有唯一性,不同的数据生成的哈希值一定是不同的。
方法与实验为了深入了解文件加密操作,我们进行了以下实验。
1. 对称加密实验1.选择一个对称加密算法,如AES。
2.准备一份明文文件,如.txt文件。
3.选择一个密钥,进行加密操作。
4.生成密文文件,并将其保存。
5.使用相同的密钥进行解密操作,将密文恢复成明文。
文件加解密课程设计

文件加解密课程设计一、课程目标知识目标:1. 让学生理解文件加密与解密的基本概念,掌握相关的理论知识。
2. 使学生掌握至少两种文件加密方法,并了解其适用场景和优缺点。
3. 让学生了解解密原理,学会运用相关工具进行文件解密。
技能目标:1. 培养学生运用所学知识,自主设计简单的文件加密与解密程序。
2. 提高学生分析问题、解决问题的能力,使学生能够针对不同场景选择合适的文件加密与解密方法。
3. 培养学生团队合作精神,学会在团队中分享观点、交流技巧。
情感态度价值观目标:1. 培养学生信息安全意识,认识到文件加密与解密的重要性,养成良好的信息安全素养。
2. 激发学生对计算机科学的兴趣,鼓励学生探索未知领域,培养创新精神。
3. 引导学生树立正确的价值观,遵循法律法规,不参与非法解密和破坏他人信息安全的行动。
课程性质:本课程为信息技术课程,旨在让学生掌握文件加密与解密的基本知识和技能,提高信息安全意识。
学生特点:学生处于初中年级,已具备一定的计算机操作能力,对新鲜事物充满好奇,但理论知识相对薄弱。
教学要求:结合学生特点,注重实践操作,以任务驱动法引导学生自主探究,培养学生的动手能力和解决问题的能力。
同时,注重理论知识讲解,让学生在实践过程中深入了解加密与解密原理。
在教学过程中,关注学生的情感态度价值观培养,引导他们树立正确的信息安全观念。
二、教学内容1. 文件加密与解密基本概念:介绍加密、解密的定义,阐述其作用和重要性,以课本第二章第一节内容为基础,让学生掌握信息安全的基本知识。
- 加密技术原理及分类- 解密技术原理及分类2. 常见文件加密方法:分析课本第二章第二节中提到的对称加密、非对称加密等加密方法,以实际案例讲解各自优缺点。
- 对称加密:如DES、AES等- 非对称加密:如RSA、ECC等3. 文件解密技术:结合课本第二章第三节内容,让学生了解解密原理,学习使用相关工具进行文件解密。
- 解密原理及步骤- 常用解密工具介绍4. 实践操作:根据课本第四章内容,设计以下实践项目:- 使用对称加密方法加密文件,并解密- 使用非对称加密方法加密文件,并解密- 分析不同场景下加密与解密的应用5. 文件加密与解密的安全问题:以课本第五章内容为基础,让学生了解文件加密与解密中可能遇到的安全问题,提高学生的信息安全意识。
文件加密操作实训报告

一、实训背景随着信息技术的飞速发展,网络安全问题日益凸显。
文件加密作为一种有效的安全措施,能够有效保护用户隐私和信息安全。
为了提高学生的信息安全意识和实践能力,我们开展了文件加密操作实训。
本次实训旨在让学生了解文件加密的基本原理,掌握常用的加密工具和操作方法,提高学生在实际工作中应对信息安全问题的能力。
二、实训目标1. 理解文件加密的基本原理,了解加密算法的类型和应用场景。
2. 掌握常用加密工具的使用方法,如WinRAR、福昕PDF编辑器等。
3. 学会使用加密工具对文件进行加密和解密操作。
4. 提高学生在实际工作中应对信息安全问题的能力。
三、实训内容1. 文件加密基本原理(1)加密算法类型:对称加密、非对称加密、哈希算法等。
(2)加密算法应用场景:保护用户隐私、数据传输安全、存储安全等。
2. 常用加密工具介绍(1)WinRAR:一款强大的压缩和解压缩工具,支持多种加密算法,如AES、3DES 等。
(2)福昕PDF编辑器:一款专业的PDF编辑软件,支持PDF文件加密、解密和权限管理等功能。
3. 文件加密操作(1)使用WinRAR加密文件步骤:1)打开WinRAR软件,点击“添加到档案”按钮。
2)选择需要加密的文件,点击“确定”。
3)在弹出的“档案名称和参数”对话框中,设置档案密码。
4)点击“确定”,完成加密操作。
(2)使用福昕PDF编辑器加密PDF文件步骤:1)打开福昕PDF编辑器,打开需要加密的PDF文件。
2)点击“文件”菜单,选择“权限”选项。
3)在弹出的“权限设置”对话框中,勾选“加密文档”选项。
4)设置用户密码和所有者密码,点击“确定”。
5)在弹出的“保存文档”对话框中,选择保存位置和文件名,点击“保存”。
四、实训过程1. 教师讲解文件加密基本原理和常用加密工具的使用方法。
2. 学生分组,每组一台电脑,进行文件加密操作实训。
3. 教师巡回指导,解答学生在实训过程中遇到的问题。
4. 学生总结实训心得,撰写实训报告。
c文件加密课程设计

c 文件加密 课程设计一、课程目标知识目标:1. 理解c语言中文件操作的基础知识,掌握文件读写的基本函数。
2. 学习文件加密的基本原理,理解加密算法在文件安全中的作用。
3. 掌握至少一种简单的加密算法,并能将其应用于文件加密。
技能目标:1. 能够独立编写c语言程序进行文件的读写操作。
2. 能够运用所学加密算法,实现文件内容的加密与解密。
3. 能够分析并解决文件加密过程中可能遇到的问题。
情感态度价值观目标:1. 培养学生的信息安全意识,使其明白保护个人隐私和数据安全的重要性。
2. 激发学生对计算机编程的兴趣,提高其学习主动性和探究精神。
3. 培养学生的团队协作意识,使其学会在小组合作中共同解决问题。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为信息技术课程,旨在教授学生文件加密的相关知识,提高学生的编程能力和信息安全意识。
2. 学生特点:学生处于高年级阶段,已具备一定的c语言基础,具有较强的学习能力和逻辑思维。
3. 教学要求:教师应注重理论与实践相结合,引导学生通过实际操作掌握文件加密技术,培养其解决问题的能力。
二、教学内容1. 文件操作基础:- 文件的概念与类型- 文件读写的基本函数(fopen、fprintf、fscanf、fclose等)- 文件指针的使用2. 加密算法原理:- 加密的基本概念- 常见加密算法(如凯撒密码、异或运算等)- 加密算法在文件安全中的应用3. 文件加密实现:- 选择一种简单加密算法- 编写c语言程序实现文件加密- 编写c语言程序实现文件解密4. 实践与拓展:- 分析加密文件的安全性- 探讨加密算法的破解方法- 优化加密算法,提高文件安全性教学内容安排和进度:第一课时:文件操作基础,学习文件的基本概念和读写函数。
第二课时:加密算法原理,了解加密概念和常见加密算法。
第三课时:文件加密实现,动手编写程序实现文件的加密与解密。
第四课时:实践与拓展,分析加密文件安全性,探讨优化加密算法。
文件加密实验的实训报告

一、实验目的1. 了解文件加密的基本原理和方法。
2. 掌握使用加密软件进行文件加密的操作流程。
3. 提高对数据安全保护的认识,增强实际操作能力。
二、实验环境1. 操作系统:Windows 102. 加密软件:TrueCrypt3. 实验设备:个人电脑三、实验原理文件加密是指通过特定的算法将原始文件转换成难以识别和解读的密文,只有拥有正确密钥的用户才能将密文恢复成原始文件。
本实验采用TrueCrypt加密软件,该软件使用AES-256位加密算法,具有较高的安全性。
四、实验过程1. 创建加密容器(1)启动TrueCrypt软件,选择“创建容器”选项。
(2)选择加密容器类型(如:标准容器、隐藏容器等)。
(3)设置加密容器的文件名和路径。
(4)选择加密算法(如:AES-256位)。
(5)设置加密容器的密码,并确认。
(6)选择加密容器的体积(可自定义)。
(7)开始创建加密容器。
2. 加密文件(1)将需要加密的文件复制到加密容器中。
(2)双击加密容器,输入密码进入。
(3)将需要加密的文件拖拽到加密容器内部。
(4)选择加密容器,点击“系统工具”下的“压缩文件”。
(5)选择压缩格式(如:7z)。
(6)设置压缩文件名和路径。
(7)开始压缩加密文件。
3. 解密文件(1)打开加密容器,输入密码进入。
(2)双击压缩文件,选择解压路径。
(3)设置解压格式(如:7z)。
(4)开始解压文件。
(5)解压完成后,在指定路径下找到解密后的文件。
五、实验结果通过本次实验,成功掌握了使用TrueCrypt软件进行文件加密和解密的方法。
实验过程中,加密文件和密钥均未丢失,加密效果良好。
六、实验总结1. 加密技术在现代信息安全中具有重要作用,能够有效保护用户数据安全。
2. TrueCrypt加密软件具有较高的安全性,使用方便,适合个人和企业使用。
3. 在实际操作中,应严格按照操作流程进行文件加密和解密,确保数据安全。
4. 针对重要数据,建议定期更换密码,以增强安全性。
文件加密实验报告

文件加密实验报告院系:专业:班级:学号:姓名:指导教师:一、需求分析 (3)二、系统设计 (3)三、软件开发 (16)四、软件测试 (16)五、特点不足 (21)六、过程和体会 (25)七、源码和说明 (28)一、需求分析1、题目要求编写一个文件加密程序enc,对于任意的文件进行加密和解密,加密算法何以自选。
程序功能:1.程序带有3个命令行参数,依次为运行模式、密钥、文件名。
Enc e 密钥文件名对于文件进行加密Enc d 密钥文件名对于文件进行解密要求加密后的文件进行解密能够完全恢复成原文件。
2、需求分析重点考察1.基本的算术运算和逻辑位运算。
2.用汇编实现简单的数据结构。
3.INT21H系统功能调用中有关文件、目录的操作。
4.可执行程序的参数使用。
5.综合解决问题的能力。
二、系统设计1、概要设计(1)设计思路1、要对一个文件进行加密处理首先要将其打开,汇编中可用3DH功能调用按路径打开文件。
2、打开文件之后便是将其调入内存之中,因而用到3FH功能调用,从文件或设备中读入。
3、按写好的加密程序对其进行加密处理。
4、将加密后的内存中的文件重新写入覆盖掉原文件,可用40H功能调用,向文件或设备写入。
5、覆盖掉原文件后再关闭文件,可用3EH功能调用,关闭文件。
6、解密部分与加密部分相仿,先打开文件,读入内存,解密后重新写入覆盖原文件,最后关闭文件(2)加密原理利用汇编语言读文件功能调用,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,与内存中的文件内容相加,改变文件内容,再写入覆盖文件,完成加密处理。
(3)解密原理解密原理与加密原理基本一致,将文件数据每次读一个字节至内存之中,输入加密密匙,将其由字符转变成数字,由内存中的待解密的文件内容减去密匙,改变文件内容,再写入覆盖文件,完成解密处理。
(4)模块划分程序分成三大模块1、主模块对文件进行读写操作及输出信息提示,并调用加密和解密模块。
文件加密实验报告

一、实验目的1. 了解文件加密的基本原理和常用加密算法。
2. 掌握文件加密工具的使用方法,包括加密和解密操作。
3. 通过实验加深对数据安全重要性的认识,提高信息安全防护意识。
二、实验环境1. 操作系统:Windows 102. 文件加密工具:TrueCrypt3. 加密文件:一份包含个人敏感信息的Word文档三、实验内容1. TrueCrypt简介TrueCrypt是一款免费的PC数据加密软件,支持Vista和Linux系统。
它可以在硬盘或闪存上创建一个或多个虚拟磁盘,所有虚拟磁盘上的文件都被自动加密。
加密后,需要通过密码来访问加密数据,加入了AES-256加密算法,使得加密数据几乎不可能被破解。
2. 加密文件(1)下载并安装TrueCrypt软件。
(2)打开TrueCrypt软件,选择“创建加密容器”功能。
(3)选择加密算法,这里选择AES-256位加密。
(4)设置加密容器大小,确保足够存放需要加密的文件。
(5)选择存储位置,创建加密容器。
(6)将Word文档拖拽到加密容器内,等待加密完成。
3. 解密文件(1)打开TrueCrypt软件,选择“打开加密容器”功能。
(2)选择加密容器,输入密码。
(3)将加密容器内的文件拖拽到目标位置,等待解密完成。
4. 实验结果分析通过本次实验,成功地将Word文档加密并解密。
加密后的文件无法被未授权用户访问,保证了文件的安全性。
同时,实验过程中也加深了对数据安全重要性的认识,提高了信息安全防护意识。
四、实验总结1. 文件加密是保障信息安全的重要手段,可以有效防止数据泄露和篡改。
2. 常用的加密算法有AES、DES、RSA等,应根据实际需求选择合适的加密算法。
3. 使用文件加密工具时,要确保加密过程的安全性,避免密码泄露。
4. 定期备份加密文件,以防数据丢失。
5. 提高信息安全防护意识,加强个人信息保护。
五、实验建议1. 在实际应用中,根据数据敏感程度选择合适的加密强度。
加密系统课程设计报告

加密系统课程设计报告一、教学目标本课程的教学目标是使学生掌握加密系统的基本原理、方法和应用,具备分析和设计简单加密算法的能力。
具体目标如下:1.知识目标:–了解加密系统的起源、发展及其在信息安全领域的重要性;–掌握对称加密、非对称加密、哈希函数等基本概念;–理解各种加密算法的原理和特点,包括DES、RSA、AES等;–熟悉加密技术在实际应用中的典型场景,如安全通信、数字签名、数据保护等。
2.技能目标:–能够使用编程语言实现基本的加密算法;–具备分析和评估加密算法安全性的能力;–能够设计简单的加密方案,解决实际问题。
3.情感态度价值观目标:–培养学生的信息安全意识,认识到加密技术在保护个人隐私和国家安全中的重要性;–激发学生对加密技术的兴趣,提高学习的主动性和积极性;–培养学生团队合作精神,学会与他人共同分析和解决问题。
二、教学内容本课程的教学内容主要包括以下几个部分:1.加密系统概述:介绍加密系统的定义、作用和分类,以及加密技术在信息安全领域中的应用。
2.对称加密:讲解对称加密的基本原理,包括DES、AES等算法;介绍对称加密的优点和缺点,及其在实际应用中的典型场景。
3.非对称加密:介绍非对称加密的基本原理,包括RSA、ECC等算法;讲解非对称加密的优势和局限,以及其在数字签名、密钥交换等领域的应用。
4.哈希函数:讲解哈希函数的定义、性质和应用,包括MD5、SHA-1等算法;分析哈希函数在加密系统中的重要作用。
5.加密算法安全性:介绍加密算法安全性的评价标准,如密码强度、破解难度等;分析常见加密算法的安全性及其对抗措施。
6.加密技术应用:讲解加密技术在安全通信、数字签名、数据保护等方面的典型应用,并结合实际案例进行分析。
三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、原理和方法,引导学生掌握 encryptingsystem 核心知识。
2.案例分析法:通过分析实际案例,使学生了解加密技术在现实中的应用和价值。
mfc课程设计文件加密

mfc课程设计文件加密一、教学目标本节课的教学目标是让学生掌握MFC课程设计文件加密的基本知识和技能。
知识目标包括了解文件加密的原理和常见的加密算法,掌握MFC中加密和解密文件的方法。
技能目标包括能够使用MFC编写简单的文件加密和解密程序,能够分析和解决文件加密过程中遇到的问题。
情感态度价值观目标包括培养学生对计算机科学和信息安全领域的兴趣,增强学生保护个人隐私和数据安全的意识。
二、教学内容本节课的教学内容主要包括三个部分:文件加密原理、MFC加密方法、加密程序设计。
首先,介绍文件加密的原理和常见的加密算法,如DES、AES等。
然后,讲解MFC中加密和解密文件的方法,包括加密类的使用和加密过程的实现。
最后,通过实例演示和练习,让学生掌握使用MFC编写简单的文件加密和解密程序的技能。
三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性。
首先,使用讲授法向学生介绍文件加密的原理和常见的加密算法。
然后,通过案例分析法让学生分析实际中的文件加密需求和解决方案。
接着,运用实验法让学生动手实践,编写文件加密和解密程序。
最后,学生进行讨论和交流,分享学习心得和经验。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,本节课准备了一系列的教学资源。
教材方面,选用《MFC程序设计》作为主教材,辅助以《MFC编程实例》进行实践操作。
参考书方面,推荐学生阅读《计算机加密技术》和《信息安全原理与实践》。
多媒体资料方面,制作了PPT课件和视频教程,以便学生更好地理解和掌握知识。
实验设备方面,确保学生能够使用计算机和网络进行编程实践。
五、教学评估本节课的教学评估将采用多维度、多元化的评估方式,以全面、客观、公正地反映学生的学习成果。
评估主要包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
2.作业:布置相关的加密编程作业,评估学生对课堂所学知识的掌握程度和实际应用能力。
文件加密课程设计作品概述

文件加密课程设计作品概述一、课程目标知识目标:1. 让学生了解文件加密的基本概念,掌握常见的加密算法及其原理;2. 使学生了解信息安全的重要性,认识到保护个人隐私和数据安全的意义;3. 帮助学生理解加密技术在现实生活中的应用场景,提高网络安全意识。
技能目标:1. 培养学生运用所学加密算法对文件进行加密和解密的能力;2. 培养学生运用编程语言实现简单加密程序的设计与编写;3. 提高学生运用加密技术保护个人隐私和数据安全的能力。
情感态度价值观目标:1. 培养学生对信息安全领域的兴趣,激发学习动力;2. 增强学生的团队协作意识,提高沟通与表达能力;3. 培养学生遵守网络道德规范,尊重他人隐私,树立正确的网络安全观。
课程性质:本课程为信息技术课程,旨在通过学习文件加密知识,提高学生的信息安全和编程能力。
学生特点:学生为初中生,具备一定的计算机操作基础,对新鲜事物充满好奇心,但知识体系尚不完善。
教学要求:结合学生特点,采用案例教学、任务驱动、小组合作等方法,引导学生主动探究、实践操作,提高学生的实际操作能力和创新能力。
通过本课程的学习,使学生能够将理论知识与实践相结合,切实提高文件加密技能。
后续教学设计和评估将以分解后的具体学习成果为依据,确保课程目标的实现。
二、教学内容1. 文件加密基本概念:介绍加密的定义、作用和分类,以及加密技术在信息安全中的应用。
相关教材章节:第一章第一节2. 常见加密算法:讲解对称加密、非对称加密和混合加密算法的原理及优缺点,如AES、RSA等。
相关教材章节:第一章第二、三节3. 加密技术应用:分析加密技术在日常生活中的应用场景,如电子邮件、即时通讯等。
相关教材章节:第一章第四节4. 编程实现加密解密:结合Python编程语言,教授如何实现文件加密和解密功能。
相关教材章节:第二章5. 加密与信息安全:探讨加密技术在保护个人隐私和数据安全中的作用,分析信息安全的重要性。
相关教材章节:第三章6. 实践操作与案例分析:组织学生进行实际操作,结合案例进行分析,提高学生解决实际问题的能力。
汇编课程设计给文件加密

汇编课程设计给文件加密一、课程目标知识目标:1. 学生能理解汇编语言的基本概念,掌握汇编语言的基本语法和常用指令。
2. 学生能了解文件加密的原理,掌握使用汇编语言实现文件加密的方法。
3. 学生能掌握计算机内存管理的基本概念,了解汇编语言在内存操作中的应用。
技能目标:1. 学生能运用汇编语言编写简单的程序,实现文件加密功能。
2. 学生能通过分析问题,设计合适的汇编语言程序解决问题。
3. 学生能运用所学知识,解决实际生活中的文件安全问题。
情感态度价值观目标:1. 培养学生对待编程语言的兴趣和热情,激发学生主动探索计算机底层原理的欲望。
2. 培养学生的团队协作意识,学会与他人分享和交流编程经验。
3. 增强学生的信息安全意识,提高对个人隐私和数据保护的责任感。
课程性质:本课程为计算机科学与技术学科的相关课程,旨在帮助学生掌握汇编语言的基本知识,学会运用汇编语言实现文件加密,提高学生的编程能力和信息安全意识。
学生特点:学生为高中年级,具备一定的计算机操作基础和编程兴趣,对汇编语言和加密技术有一定了解,但实践经验不足。
教学要求:结合学生特点,课程要求以实践为主,注重培养学生的动手能力和解决问题的能力。
通过本课程的学习,使学生能够将理论知识与实际应用相结合,提高学生的综合素质。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 汇编语言基础知识:- 汇编语言概述:了解汇编语言的发展历程、特点及用途。
- 汇编语言基本语法:掌握汇编语言的指令格式、寄存器、操作数等基本概念。
- 常用指令:学习并掌握数据传输、算术运算、逻辑运算、跳转等常用指令。
2. 文件加密原理:- 加密算法:了解常见加密算法,如异或加密、循环移位等。
- 文件加密流程:学习文件加密的基本步骤,包括读取文件、加密处理和写入文件。
3. 汇编语言实现文件加密:- 内存管理:了解内存分配、寻址方式等基本概念,为编写汇编程序打下基础。
课程设计文件加密

课程设计文件加密一、教学目标本课程旨在让学生了解和掌握加密技术的基本原理和应用方法,提高他们的信息安全和隐私保护意识。
具体目标如下:1.知识目标:学生需要了解加密技术的起源、发展以及常见的加密算法,如对称加密、非对称加密和哈希算法等。
2.技能目标:学生能够运用加密算法进行数据的加密和解密操作,掌握加密技术的应用场景和实际操作方法。
3.情感态度价值观目标:培养学生对信息安全的重视,提高他们的自我保护意识,使他们在日常生活中能够采取正确的信息安全措施。
二、教学内容本课程的教学内容主要包括以下几个部分:1.加密技术的基本概念和原理,包括加密的定义、加密的必要性和加密技术的发展历程等。
2.对称加密算法,如DES、AES等,以及非对称加密算法,如RSA、ECC等。
3.哈希算法,如MD5、SHA-1等,以及数字签名技术。
4.加密技术的应用场景,如网络通信、数据存储、电子商务等。
5.加密技术在实际操作中的实践,如使用加密软件进行数据加密和解密等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
1.讲授法:通过讲解加密技术的基本概念、原理和算法,使学生了解和掌握加密技术的基本知识。
2.讨论法:通过分组讨论,让学生深入了解加密技术的应用场景和实际操作方法。
3.案例分析法:通过分析典型的信息安全案例,使学生了解加密技术在实际应用中的重要性。
4.实验法:通过实际操作,让学生掌握加密技术的应用方法和技巧。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《加密技术与应用》等。
2.参考书:《密码学导论》、《信息安全原理与实践》等。
3.多媒体资料:通过网络下载或自制与加密技术相关的教学PPT、视频等。
4.实验设备:计算机、网络设备等,用于实际操作和实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用多种评估方式,包括平时表现、作业和考试等。
课程设计文件加密

课程设计文件加密一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握文件加密的基本概念、加密算法和加密软件的使用方法。
技能目标要求学生能够运用加密算法对文件进行加密和解密,能够使用常见的加密软件进行文件加密。
情感态度价值观目标要求学生增强信息安全意识,认识到文件加密的重要性,能够积极采取措施保护自己的文件安全。
二、教学内容本课程的教学内容主要包括文件加密的基本概念、加密算法和加密软件的使用方法。
首先,介绍文件加密的基本概念,包括加密的定义、加密的必要性等。
然后,介绍常见的加密算法,如DES、RSA等,并讲解其原理和特点。
最后,介绍常见的加密软件,如7-Zip、WinRAR等,并演示其使用方法。
三、教学方法本课程的教学方法采用讲授法、讨论法和实验法相结合的方式。
首先,通过讲授法向学生传授文件加密的基本概念、加密算法和加密软件的使用方法。
然后,通过讨论法引导学生思考和探讨文件加密的重要性,提高他们的信息安全意识。
最后,通过实验法让学生亲自动手操作加密软件,巩固所学的知识。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于提供理论知识和实践指导,多媒体资料用于辅助讲解和展示,实验设备用于进行实际操作。
此外,还可以利用网络资源,如在线教程、视频讲解等,丰富学生的学习体验。
五、教学评估本课程的教学评估采用多元化的评估方式,包括平时表现、作业和考试等。
平时表现评估学生的出勤、课堂参与度和团队协作能力,作业评估学生的学习态度和基本知识掌握情况,考试评估学生对课程知识的全面理解和应用能力。
各项评估方式客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:共10课时,每周1课时,共计2个月。
教学地点安排在教室,时间为每周五下午2点到4点。
教学进度安排合理、紧凑,确保在有限的时间内完成教学任务。
同时,教学安排考虑学生的实际情况和需要,如学生的作息时间、兴趣爱好等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南城建学院《操作系统原理》课程设计报告书班级:0834131专业:信息管理与信息系统(本科)课程名称:操作系统原理指导教师:***设计题目:文件加密储存学号:姓名:同组人员:计算机科学与工程学院2015年12月前言随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。
文件的加密主要是由加密算法实现,加密算法有多种,本程序设计对文件的加密使用的是最基础的异或加密算法与防射函数加密算法共同对文件进行双层加密。
加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密技术包括两个元素:算法和密钥。
算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。
在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全.C语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。
本程序充分利用C语言的特点,针对当下社会比较重视的文件加密,设计了本程序。
使用本程序可以对txt,word 等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。
目录一、系统环境 ............................................................................... - 2 -二、设计目的 ............................................................................. - 2 -三、总体设计 ............................................................................... - 3 -四、详细设计 ............................................................................... - 4 -4.1加密算法 ........................................................................... - 4 -4.2系统调用 ........................................................................... - 4 -五、调试与测试............................................................................ - 7 -六、遇到的问题及解决方案 ......................................................... - 9 -七、程序源代码............................................................................ - 9 - 心得体会 .................................................................................... - 13 - 参考文献 .................................................................................... - 15 -一、系统环境Windows平台下安装VMware虚拟机来搭建Linux平台,操作系统环境是Red Hat Linux 9,语言开发环境是Linux的GNU C或C++。
硬件环境:计算机一台,局域网环境软件环境:虚拟机下的Red Hat Linux 9二、设计目的学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。
如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。
例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。
但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。
本操作系统课程设计,是给同学们提供一个集中实验的机会。
本次课程设计文件加密存储要实现以下要求:(1)利用文件系统的系统调用编程对文件的内容进行加、解密;(2)要求程序从环境的命令行携带4个参数。
第一个是文件名,第二个是操作方式,第三个是密钥,第四个是加密钥循环使用长度。
其中后两个参数是可以忽略,但对忽略的情况要提供缺省值;(3)要求最后实现对文件的加密转储,或通过改道的办法进行转储。
对于已加密的文件可以进行解密显示或解密后转储。
形成加密或解密文件后要删除原来的文件;(4)建议加密过程使用按字符进行异或的方式处理,也可以是仿射加密方式,比如把所有的字符做一个平移变换:A-→A+C(A为任意字母表中的字母,C 为常数,为了防止越界或溢出,可以改造其为A-→(A+C)MOD 256),这里要提醒的是,要注意逆变换;(5)设计者也可以提供自己的加密方式。
三、总体设计实现对文件的加密与解密,要求有图形用户界面。
细则如下1.能够对一个文件进行加密;2.加密后生成一个新文件为“anma””,并删除源文件;3.能将加密生成的文件还原成原文件名为“mingma”。
N四、详细设计4.1加密算法本设计采用按字符异或与防射加密函数联合的加密算法对文档进行加密形成密文,而后,用同样的算法配合密钥和密钥循环长度可以对密文进行解密。
程序从命令行携带文件名(in )、操作方式(Op )、密钥(pwd )、加密钥循环使用长度(length )四个参数,其中pwd 和length 可以忽略,程序为忽略的情况提供了缺省值。
若命令行带入的参数少于两个,即没有参数或只有第一个参数,程序提供了输入块对四个参数进行输入。
4.2系统调用int main(int argc,char *argv[])argc 是外部命令参数的个数,argv[] 存放各参数的内容.在运行程序以后,Y YYN操作系统会自动将参数传给你。
例如编译好的程序叫做program.exe 你运行program a b 这个时候,argc = 3 argv[0] = "program" argv[1] = "a" argv[2] = "b"fopen ( string filename, string mode)fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式); 其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。
“文件名”是字符串常量或字符串数组。
文件使用方式意义:“rt”只读打开一个文本文件,只允许读数据“wt”只写打开或建立一个文本文件,只允许写数据“at”追加打开一个文本文件,并在文件末尾写数据“rb”只读打开一个二进制文件,只允许读数据“wb”只写打开或建立一个二进制文件,只允许写数据“ab”追加打开一个二进制文件,并在文件末尾写数据“rt+”读写打开一个文本文件,允许读和写“wt+”读写打开或建立一个文本文件,允许读写“at+”读写打开一个文本文件,允许读,或在文件末追加数据“rb+”读写打开一个二进制文件,允许读和写“wb+”读写打开或建立一个二进制文件,允许读和写“ab+”读写打开一个二进制文件,允许读,或在文件末追加数据fputc(char ch,FILE *fp)作用: 把一个字符写到磁盘文件上去,即将字符ch输出到fp所指向的文件中去。
返回值:成功,返回值就是输出的字符;失败,返回EOF(-1)。
fgetc(FILE *fp)作用:从指定的文件读入一个字符,即从fp所指向的文件中读入一个字符。
返回值:成功,返回值所得到的字符;失败,返回EOF(-1)。
feof(FILE *fp)作用:检查文件是否结束。
返回值:遇文件结束符返回非零值,否则返回0。
五、调试与测试1新建文件和程序2对文件进行加密加密后产生一个新的文件“anma”3对文件进行解密运行后产生一个新的文件“mingma”六、遇到的问题及解决方案1.linux系统下如何进行编程以及如何运行程序代码解决方法:通过网上百度以及从图书馆借阅的资料逐渐了解并认识Linux系统,从而进一步在Linux环境下进行程序设计2.在陌生环境下如何确保程序的正确性解决方案:先把在Linux系统下用GUNC编写的程序在vc++6.0环境下编译运行,确保程序可以进行调试,然后再移植到Linux环境中。
七、程序源代码#include<stdio.h>#include<stdlib.h>#include<string.h>void jiami(char *in,char *pwd,int length); /*函数声明*/void jiemi(char *in,char *pwd,int length); /*函数声明*/int main(int argc,char * argv[]){char in[30]; /*需要加密或解密的文件名*/int length; /*加密钥循环使用长度*/char pwd[8]; /*加密钥*/char Op[10]; /*操作方式*/if(argc<3) /*如果从命令行带入的参数少于两个,刚提示输入*/{printf("You must enter filename and Operation mode!\n");printf("Input filename:\n");scanf("%s",in);printf("Input Operation mode:\n");scanf("%s",Op);printf("Enter password:\n");scanf("%s",pwd);printf("Input length:\n");scanf("%d",&length);}else{if(argc==3) /*命令行带两个参数,后两个忽略,则给后两个参数提供缺省值pwd[]="00000000",length=8*/{strcpy(in,argv[1]);strcpy(Op,argv[2]);strcpy(pwd,"00000000");length=8;}else if(argc==4) /*若从命令行带入三个参数,刚对length提供缺值8*/{strcpy(in,argv[1]);strcpy(Op,argv[2]);strcpy(pwd,argv[3]);length=8;}else{strcpy(in,argv[1]);strcpy(Op,argv[2]);strcpy(pwd,argv[3]);length=(int)argv[4]-48;}}if(strcmp("jiami",Op)==0)jiami(in,pwd,length); /*调用加密*/else if(strcmp("jiemi",Op)==0)jiemi(in,pwd,length); /*调用解密*/elseprintf("Input error!");}void jiami(char *in,char *pwd,int length) /*加密*/{FILE *fp1,*fp2;char ch;int a[99];int j=0;int i=0;fp1=fopen(in,"rb"); /*为输入打开一个二进制文件*/if(fp1==NULL){printf("Cannot open in-file!\n");exit(1);}fp2=fopen("anma.txt","wb"); /*为读写建立一个新的二进制文件*/ if(fp2==NULL){printf("Cannot open or create output-file!\n");exit(1);}ch=fgetc(fp1);while(!feof(fp1)){a[i]=ch-'a'; // 字符转换为数字a[i]=(11*a[i]+6)%26;// 仿射加密函数ch=a[i]+'a'; // 数字转换为字符i++;fputc(ch^pwd[j>=length-1?j=0:j++],fp2); /*按加密方法进行解密*/ch=fgetc(fp1);}fclose(fp1);remove(in);fclose(fp2);}void jiemi(char *in,char *pwd,int length) /*解密*/{FILE *fp1,*fp2;char ch;int j=0;int i=0;int a[99];fp1=fopen(in,"rb"); /*为输入打开一个二进制文件*/if(fp1==NULL){printf("Cannot open in-file!\n");exit(1);}fp2=fopen("mingma.txt","wb"); /*为读写建立一个新的二进制文件*/ if(fp2==NULL){printf("Cannot open or create output-file!\n");exit(1);}ch=fgetc(fp1);while(!feof(fp1)){ch=ch^pwd[j>=length-1?j=0:j++];a[i]=ch-'a'; // 字符转换为数字a[i]=(19*a[i]+16)%26;// 仿射解密函数ch=a[i]+'a'; // 数字转换为字符i++;fputc(ch,fp2);ch=fgetc(fp1);}fclose(fp1);remove(in);fclose(fp2);}心得体会通过此次课程设计,使我更加扎实的掌握了有关C方面的知识与Linux下C编程的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。