C语言课程设计数据的加密与解密杭世龙
更新时间:2024-05-30 04:16:01 阅读量: 综合文库 文档下载
- c语言课程设计数据的加密推荐度:
- 相关推荐
《C语言课程设计》 课程设计报告
题 目 学 号 姓 名 年级专业 指导教师 完成日期
2013
安徽师范大学物理与电子信息学院
College of Physics and Electronic Information, Anhui Normal University
数据的加密与解密 120802022 杭世龙
2012级电子信息工程专业
王元航 年
6
月
17
日
目录
课程设计任务书…………………………………………………3 摘要………………………………………………………………4 关键词……………………………………………………………4 原理………………………………………………………………4 一.系统功能分析………………………………………………5 1.1设计目的……………………………………………………..5 1.2功能描述……………………………………………………..5 二.C 语言程序编写……………………………………………6 2.1程序结构图…………………………………………………..6 2.2程序流程图…………………………………………………..6 2.3程序源代码…………………………………………………..8 三.程序功能示例………………………………………………13 3.1示例截图……………………………………………………..13 3.2测试过程……………………………………………………..16 四.设计体会与收获……………………………………………16 五.参考文献……………………………………………………16
2
《C 语言程序》课程设计任务书
题数据的加密与解密 目 设计将某一已知文件的内容(仅限于英文字母)以字符形式读出,根据密文(用户从键盘输入)将对应字符进行移位操作即可,解密时移动相反。 例如:加密:设原文为abcdef,密钥为5,则有abcdef每个字母按字目母表向后移动5位(注:z后接a)可得到密文(乱码)fghijkl;对该文件解密:文件内容为fghijk1,密钥为5,则有fghijk1每个字母向前移动5,可得到原文abcdef。 的 位(注a后接z)设 第一阶段:选择课程设计的题目; 计第二阶段:搜寻有关课程设计的资料,查阅相关的书籍; 进第三阶段:开始编辑C语言程序; 第四阶段:完成了C训言程序的编写,开始撰写C语言菾程设计报告; 度第五阶段:完成了C语言课程设计报告的撰写。 安排 教师审核签名 3
摘要:
作为保障数据数据安全的一种方式,对于信息的加密技巧起源于欧洲,最广为人知的编码机器是德国的German Enigma,在第二次世界大战中德国人利用它创建了加密信息系统,从而解决军事信息的保密通讯问题。
尽管加密技术被首先使用在军事通信领域,但是人们或许出于安全的考虑,开始逐渐对于商业机密、政府文件等重要信息实施加密手段。数据加密应运而生。其基本原理是:
对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程的逆过程称为解密,即将该编码信息转化为明文的过程。 从事数据加密研究的人称为密码编码者(Cryptographer),而从事对数据解密的专业人士称为密码分析者(Cryptanalyst)。如今数据加密技术被广泛地应用与国民经济各个领域,特别是政府机关和国防情报部门,此外才是科学研究机关、商业部门、新闻出版、金融证券、交通管制与电力输送等部门。
而C语言程序设计教学不仅仅局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力。C语言程序设计教学方法的改革让学生从多角度、以多方式去了解和掌握C语言以及程序设计的精髓,着重培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。
关键词:C语言,程序设计,换位法,换位位数,数据加密与解密 原理:
换位法加密的原理是将英文句子中的空格 去除,然后将句子排成若干 行,每行的字符 数为换位位数,再按列输出即为密文,不足 部分填入随机字母。;例如英文can you come here 若换位位数取4,则密文为comraueench*yoe*, *代表随机字母,如右图所示:
输出方向输入方向 c o m r a u e e n c h * y o e * 换位法示意图 4
一、系统功能分析
1.1 设计目的
本课程设计的目的是为了保证个人数据资料不被他人非法窃取使用,保护个人的隐私及重要文件。
1.2 功能描述
本程序主要是对已知文件(为英文字符)通过一定的算法将其转换成非本身的其他英文字母以达到文件加密的目的。整个系统由以下几大功能模块组成。 1.主控选择模块
此模块是主程序操作界面,供用户进行选择。用户可选择执行加密或解密操作。 2.加密模块
此模块执行加密操作,输入明文后,去除空格得s1,再判断有没有缺空格,有就补随机字母,然后按照换位位数进行加密,从而得到密文。 3.解密模块
解密模块是完成对文件的解密工作,将密文转换为可被识别的明文。从外部文件中读入任意一个文件并将它解密并显示出来。
本次综合训练是计算机科学与技术、信息管理与信息系统、软件工程专业重要的实践性环节之一,是在学生学习完《C语言程序设计》、《数据结构》课程后进行的一次全面的综合练习。本课综合训练的目的和任务是:
1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握; 2. 掌握C语言编程和程序调试的基本技能; 3. 利用C语言进行基本的软件设计; 4. 掌握书写程序设计说明文档的能力;
5. 提高运用C语言、数据结构解决实际问题的能力。
5
二、C 语言源程序编写:
1 程序结构图:
主函数
调用 返回
char *jiami(char *p,char *s1,int key) char *jiemi(char *p,char *s2,int key)
2 程序流程图
#include
6
接上页 if(s1[0]>='A'&& s1[0] <='Z') 去除空格,s2 赋给 s1 s1[0]=s1[0]+32 scanf(\;即加密字节数 函数调用jiami(xstr,s1,key); 解密字节数,函数调用 if(jiemi(s1,xstr,key)!=NULL) 函数定义 char*jiami(char *p,char *s1,int key) 函数定义 char*jiemi(char *p,char *s2,int key) int i,j,len,len1,n=0;计算字符串s1的长度 len=strlen(s1); int i,j,len,n=0; len=strlen(s2); if((len % key)!=0) if((len % key)!=0) len1=len+key-(len % key); else len1=len; return NULL; for(i=0;i 接上页 for(j=0;j 结束 3所有的课题程序源代码: #include char *jiami(char *p,char *s1,int key); char *jiemi(char *p,char *s2,int key); int key,i,j,len; char s1[CHANGDU]; char s2[CHANGDU]; char xstr[CHANGDU]; printf(\ *****************************\\n\ printf(\ * welcome to use the system! *\\n\ printf(\ *****************************\\n\ printf(\ gets(s2); 8 { int m=0,i=0,t; char ch; t=strlen(s2); for(i=0;i ch=s2[i]; s1[m]=ch; m=m+1; } ch=s2[i]; s1[m]=ch; if(s1[0]>='A'&&s1[0]<='Z') s1[0]=s1[0]+32; } puts(s1); printf(\ scanf(\ jiami(xstr,s1,key); printf(\ printf(\ if(jiemi(s1,xstr,key)!=NULL) {;} else { printf(\ } { int a; char str[CHANGDU]; printf(\ 9 printf(\ scanf(\ getchar(); printf(\ gets(str); if(a==key&&str[0]==s1[0]) { printf(\ puts(s2); } } } char *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); else len1=len; for(i=len;i s1[i]=(char)((rand() % 26)+(rand() % 1)*('A'-'a')+'a'); s1[len1]=0; for(j=0;j char *jiemi(char *p,char *s2,int key) { 10
正在阅读:
C语言课程设计数据的加密与解密杭世龙05-30
小学生一年级重阳节尊老敬老作文06-14
评奖评优09-06
尘肺病诊断标准09-16
2012年7月高等教育自学考试全国统一命题考试《中国现代文学作品选》试题05-23
2014-2015学年高一物理寒假作业(1)(Word版,含答案)03-20
全国勘察设计注册工程师相关专业新旧名称对照表(2018年)03-15
ch9-劣等投入、边际及平均成本05-28
2013河南高考文科状元王子瑾:心态好 人自信 有主见 - 掌门1对102-28
湄潭侨欣 金华世家8#楼转换层施工方案05-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 解密
- 加密
- 语言
- 课程
- 数据
- 设计
- 杭世
- 突发公共卫生事件应急处理模拟演练方案
- 建功立业标兵事迹材料
- 非参数统计(R软件)参考答案
- 数据库课程设计(酒店客房管理系统)论文
- 建筑光学选择题
- 13年安全隐患专项排查整治方案
- 2018部编人教版小学二年级语文下册 课文14 小马过河 公开课
- 微博招聘
- 中考数学-2013年六盘水市中考数学试卷及答案(word解析版)
- 第九讲 百分数应用题
- 2017届山东省德州市某中学高三第一次模拟考试地理试题及答案
- 第3讲地球公转的地理意义
- 神经病学部分讲稿
- 污水化验员培训教材1-3章(初步排版1) - 图文
- 引风机计算书
- 北师大版一年级数学上册《一起做游戏》教案
- 天猫运营计划书—淘宝天猫京东运营实操表格
- 004乌涌桥专项安全施工组织设计
- 信用管理方针与目标
- 同一个班级、同一个老师,孩子间差异的真正原因