仲恺农业工程学院
     
姓    名  孙浩斌
院(系)  信息科学与技术学院
专业年级  计算机132
泰安邮政学  号    ************
指导教师    罗慧慧
职    称  学生
起止时间    2015-6-15至2015-6-24
仲恺农业工程学院教务处制
一.课程设计目的和要求
1.1设计目的
有时我们有些资料不希望别人看到,最常用的方法就是加密。对给定的相关文件进行加密可以对文件进行保护,可以防止某些重要信息不被别人所知道甚至窃取。对文件起到保护作用,可以方便用户使用某些只有自己能知道的信息,能够安全保护文件的相关内容几信息不被外流。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。通过课程设计,使学生了解高级程序设计语言的结构,逐渐培养学生的编程能力、用计算机解决实际问题的能力,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。
  程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方
法,按照课程设计的题目要求,分析、设计、编写、调试和测试程序及编写设计报告。
本课程设计的目标:
1. 巩固《高级语言程序设计》课程学习的内容和加深学生对基本知识的理解和掌握。
2. 掌握编程和程序调试的基本技能。
3. 掌握软件设计的方法。
4. 提高运用程序设计解决实际问题的能力。
5. 培养独立思考、 综合运用所学有关相应知识的能力。
6. 强化上机动手编程能力,闯过理论与实践相结合的难关!
1.2设计要求
1. 分析课程设计题目的要求,根据所要求的程序功能,画出程序的流程图
2.对系统功能模块进行分析,写出详细设计说明文档。
3.对程序源代码进行调试与测试,使其能正确运行。
4.黄恺嘉设计完成的软件要便于操作和使用。
5.设计完成后提交课程设计报告。
1.3设计意义
至今,密码技术是取得信息安全性最有效的一种方法, 密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。
二.课程设计任务内容
2.1 背景
加密技术是电子商务采取的主要安全保密措施,是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制来保证网络的信息通讯安全。
2.2 功能需求
实现对文件的加密与解密,要求有图形用户界面。细则如下:
1.能够对一个文件进行加密。周杰伦小公举
2.加密后生成一个新文件,并且原文件删除。
3.能将加密生成的文件还原成原文件
4.能够统计文件中单词个数。
三.模块设计
3.1  系统模块赵薇的图片
  包括四个模块:加密模块,解密模块,显示模块,统计单词模块
 
图 3-1  系统模块图
3.2主函数流程图
在主函数中,利用switch语句实现对各个项目的函数调用。
图 3-2  主函数流程图
3.3  函数流程图
3.3.1  加密函数流程图
先读取原文件数据,将原文件称需经过特定条件转换后存放到另一个文件夹。加密过程,即将读取文件的字符根据加密公式转化为别的字符实现加密。但由于后面的解密重要判断是否已经是加密文件,所以在文件末尾做记号标记。存到另一文件夹后关闭文件,最后用remove,rename两个函数实现删除源文件,将加密后文件命名为原文件名,这样只剩下一个加密文件了。
图 3-3 加密函数流程图
3.3.2解密函数流程图
先判断是否已经加密,这时要利用加密函数中使用的标识符,可以用fseek函数读取文件末尾的标识符判断是否已加密。若是则解密,否则不解密。
图3-4 解密函数流程图
3.3.3显示函数流程图
    利用文件的操作,用fgetc函数从文件读取数据,再用putchar函数将数据显示到屏幕。
                    图 3-5 显示函数流程图