数据的加密与解密

上传人:xh****66 文档编号:57132076 上传时间:2018-10-19 格式:DOC 页数:17 大小:330KB
返回 下载 相关 举报
数据的加密与解密_第1页
第1页 / 共17页
数据的加密与解密_第2页
第2页 / 共17页
数据的加密与解密_第3页
第3页 / 共17页
数据的加密与解密_第4页
第4页 / 共17页
数据的加密与解密_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《数据的加密与解密》由会员分享,可在线阅读,更多相关《数据的加密与解密(17页珍藏版)》请在金锄头文库上搜索。

1、C 语言课程设计课课程程设计报设计报告告题 目数据的加密与解密学 号110803022姓 名桂阳阳年级专业2011 级通信工程指导教师蔡继盛完成日期2012年6月5日安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University2目录目录课程设计任务书3摘要4关键词4原理4一系统功能分析51.1 设计目的51.2 功能描述5二C 语言程序编写62.1 程序结构图62.2 程序流程图62.3 程序源代码8三程序功能示例133.1 示例截图133.2 测试过程16四设计体会与收获16五参考文

2、献163C 语言程序语言程序课程设计任务书课程设计任务书题目数据的加密与解密设计目的将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密 文(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。例如:加密:设原文为 abcdef,密钥为 5,则有 abcdef 每个字母按 字母表向后移动 5 位(注:z 后接 a)可得到密文(乱码)fghijkl;对该 文件解密:文件内容为 fghijk1,密钥为 5,则有 fghijk1 每个字母向前移 动 5 位(注 a 后接 z) ,可得到原文 abcdef。设计进度安排第一阶段:选择课程设计的题目;第二阶段:搜寻有关课程设计的资料,查阅

3、相关的书籍;第三阶段:开始编辑 C 语言程序;第四阶段:完成了 C 训言程序的编写,开始撰写 C 语言菾程设计报告;第五阶段:完成了 C 语言课程设计报告的撰写。教师审核签名4摘要:作为保障数据数据安全的一种方式,对于信息的加密技巧起源于欧洲,最 广为人知的编码机器是德国的 German Enigma,在第二次世界大战中德国人利 用它创建了加密信息系统,从而解决军事信息的保密通讯问题。尽管加密技术被首先使用在军事通信领域,但是人们或许出于安全的考虑, 开始逐渐对于商业机密、政府文件等重要信息实施加密手段。数据加密应运而 生。其基本原理是:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代

4、码形式 (密码)实施加密。该过程的逆过程称为解密,即将该编码信息转化为明文的 过程。从事数据加密研究的人称为密码编码者(Cryptographer),而从事对数据解 密的专业人士称为密码分析者(Cryptanalyst) 。如今数据加密技术被广泛地应 用与国民经济各个领域,特别是政府机关和国防情报部门,此外才是科学研究 机关、商业部门、新闻出版、金融证券、交通管制与电力输送等部门。而 C 语言程序设计教学不仅仅局限于使学生单纯地了解和掌握 C 语言的基 本语法规范,而是要致力于培养学生运用 C 语言解决实际问题的编程能力。C 语言程序设计教学方法的改革让学生从多角度、以多方式去了解和掌握 C

5、语言 以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编 程,都能灵活应用这些思想和方法的能力。关键词:C 语言,程序设计,换位法,换位位数,数据加密与解密原理:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干 行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。 ;例如英文 can you come here若换位位数取 4,则密文为 comraueench*yoe*,*代表随机字母,如右图所示:canyoucomehere*输入方向输出方向换位法示意图5一、系统功能分析1.1 设计目的设计目的本课程设计的目的是为了保证个人数据资料不被他人非法

6、窃取使用,保护 个人的隐私及重要文件。1.2 功能描述功能描述本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本 身的其他英文字母以达到文件加密的目的。整个系统由以下几大功能模块组成。1.主控选择模块此模块是主程序操作界面,供用户进行选择。用户可选择执行加密或解密 操作。2.加密模块此模块执行加密操作,输入明文后,去除空格得 s1,再判断有没有缺空格, 有就补随机字母,然后按照换位位数进行加密,从而得到密文。3.解密模块解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。从外 部文件中读入任意一个文件并将它解密并显示出来。本次综合训练是计算机科学与技术、信息管理与信息系统

7、、软件工程专业 重要的实践性环节之一,是在学生学习完C 语言程序设计 、 数据结构课 程后进行的一次全面的综合练习。本课综合训练的目的和任务是:1. 巩固和加深学生对 C 语言、数据结构课程的基本知识的理解和掌握;2. 掌握 C 语言编程和程序调试的基本技能;3. 利用 C 语言进行基本的软件设计;4. 掌握书写程序设计说明文档的能力;5. 提高运用 C 语言、数据结构解决实际问题的能力。6开始开始二、C 语言源程序编写:2.1 程序结构图:程序结构图:主函数主函数2.2 程序流程图程序流程图调用调用返回返回char *jiami(char *p,char *s1,int key) char

8、*jiemi(char *p,char *s2,int key)#include #include #define CHANGDU 1000int main( )char s1CHANGDU; char s2CHANGDU; char xstrCHANGDU;gets(s2)判断字符串判断字符串 s2 中的中的空格和字符串结尾空格和字符串结尾接下页7去除空格,去除空格,s2 赋给赋给 s1if(s10=Achar *jiemi(char *p,char *s2,int key);int key,i,j,len;char s1CHANGDU;for(j=0;j=Aputs(s1);printf(

9、“qing shu ru jia mi mi yao:“);scanf(“%d“,jiami(xstr,s1,key);printf(“jia mi mi wen shi:“);printf(“%sn“,xstr);if(jiemi(s1,xstr,key)!=NULL);elseprintf(“NULL“);11int a;char strCHANGDU;printf(“*n“);printf(“qing shu ru jie mi mi yao:“);scanf(“%d“,getchar();printf(“qing shu ru jia mi mi wen:“);gets(str);if

10、(a=keyputs(s2);12char *jiami(char *p,char *s1,int key)int i,j,len,len1,n=0;len=strlen(s1);if(len % key)!=0)len1=len+key-(len % key);elselen1=len;for(i=len;ilen1;i+)s1i=(char)(rand() % 26)+(rand() % 1)*(A-a)+a);s1len1=0;for(j=0;jkey;j+)for(i=0;i(len1/key);i+)pn+=s1i*key+j;pn=0;return p;char *jiemi(ch

11、ar *p,char *s2,int key)13int i,j,len,n=0;len=strlen(s2);if(len % key)!=0)return NULL;len=(len / key);for(i=0;ilen;i+)for(j=0;jkey;j+)pn+=s2j*len+i;pn=0;return p;三程序功能示例3.1 示例截图:示例截图:1415163.2 测试过程:测试过程:qing shu ru yuan shi ming wen:can you come herecanyoucomehereqing shu ru jia mi mi yao:4jia mi mi

12、wen shi:comraueenchiyoea*qing shu ru jie mi mi yao:4qing shu ru jia mi mi wen:comraueenchiyoeajie mi ming wen shi:can you come here四设计体会与收获这次这次 C 语言课程设计任务是设计一个程序解决数据的加密与解语言课程设计任务是设计一个程序解决数据的加密与解密问题,我与郭端杰同学一组,在设计源程序中,我是负责编写两密问题,我与郭端杰同学一组,在设计源程序中,我是负责编写两个调用函数的,分别是加密函数和解密函数,搭档是负责编写主函个调用函数的,分别是加密函数和解密函数

13、,搭档是负责编写主函数,在编译过程中,也遇到了不少困难和问题,像换位法加密和解数,在编译过程中,也遇到了不少困难和问题,像换位法加密和解密过程,到底怎样设计函数才能达到换位的要求,从而达到加密与密过程,到底怎样设计函数才能达到换位的要求,从而达到加密与解密的效果,在解决问题的过程中,也学会了不少知识。解密的效果,在解决问题的过程中,也学会了不少知识。五参考文献C 语言高级实例解析;清华大学出版社。语言高级实例解析;清华大学出版社。C 语言程序设计习题与实验设计指导;电子科技大学出版社,语言程序设计习题与实验设计指导;电子科技大学出版社,编者孙淑霞,周家纪,丁照宇。编者孙淑霞,周家纪,丁照宇。17物理与物理与电电子信息学院子信息学院课课程程设计评设计评定意定意见见主要内容包括:设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。指导教师评语成绩: 签名: 年 月 日注:本页与上一页用注:本页与上一页用 A3 纸套印成封面和封底,课程设计报告正文用纸套印成封面和封底,课程设计报告正文用 A4 纸打印然后装订纸打印然后装订

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号