




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生学号 实验课成绩学 生 实 验 报 告 书实验课程名称MIS系统软件开课学院管理学院指导教师姓名学生姓名学生专业班级2010-2011学年第一学期实验项目名称加密解密算法实验成绩实 验 者专业班级组 别同 组 者实验日期2010年 11月22日第一部分:实验预习报告1、 实验目的、意义通过简单的加密解密算法的实现理解系统中加密解密的基本思想,熟练掌握使用C语言基本语句。2、 实验基本原理与方法单字母替换加密方法恺撒密码加密方法是把英文字母按字母表的顺序编号作为明文,将密钥定为m,加密算法为将明文加上密钥m,得到密码表,通过相反的过程由密文得到明文。单字母替换加密方法单表置换密码 由密钥Key构造字符置换表,完成加密和解密过程。多字母替换加密方法维吉利亚密码假设明文m=m1 m2 m3 mn;密钥k=k1k2 k3 kn,对应密文c=c1 c2 c3 cn,密文为:ci=(mi+ki )mod 26 ,26个字母的序号依次为025,ci , mi ,ki是分别是密文明文密钥中第i个字母的序号。转换加密方法 通过将明文每m个字符一组按顺序分为若干个字符串,再按照先列后行形成密文,并分析给出解密的方法。 或者通过给出一个密钥字符串,将明文按密钥字符串长度按顺序分为若干组字符串,再按照密钥字符串各个字符的顺序形成密文,并分析给出解密的方法。3、 主要仪器设备及耗材实验室提供计算机和上网条件,C语言上机环境。4、 实验方案与技术路线(综合性、设计性实验)(1)选定一种加密解密算法,对该算法实现的思路进行分析;(2)编程实现选定的算法(3)对所编写的程序进行调试(4)对程序运行的结果进行截图(5)对实验结果进行分析第二部分:实验过程记录实验原始记录(包括实验数据记录,实验现象记录,实验过程发现的问题等)(1)实验数据和文件(2)程序运行主菜单界面(3)单字母替换加密主菜单界面下,选择1,进入单字母替换加密算法,直接由屏幕输入字符,过程如下:输入字符串“zhuli”,但击回车键,屏幕输出加密后的字符“asfor”(钥为默认值),同时显示出子菜单,进行下一步的选择。进行解密操作步骤如下:输入字符串“asfor”,但击回车键,屏幕输出解密后的字符“zhuli”,同时显示出子菜单,进行下一步的选择。返回主菜单步骤如下:(4)凯撒加密算法文件操作在主菜单下,选择选项2,则进入子菜单二,如下图选择1,进行文件的加密操作,操作步骤如下图:选择in.txt文件,对其加密,采用凯瑟加密算法,密钥设置为2,加密后的内容写入文件out.txt文件中。in.txt文件和out.txt文件中的内容如下图所示:接着选择解密文件,对out.txt文件中的内容进行解密,操作步骤如下:output.txt文件中的内容如下,与源文件内容相同:(5)暴力破解文件过程如下选择子菜单2中的菜单3项,输入要破解的文件名,屏幕显示文件的内容,如下图第三部分 结果与讨论(可加页)实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)程序设计类实验:包括原程序、输入数据、运行结果、实验过程发现的问题及解决方法等;分析与设计、软件工程类实验:编制分析与设计报告,要求用标准的绘图工具绘制文档中的图表。系统实施部分要求记录核心处理的方法、技巧或程序段;其它实验:记录实验输入数据、处理模型、输出数据及结果分析(1)源代码#include#include #include#include/#include#define M 100char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/while(ch=A&ch=a&ch=z)return (a+(ch-a+n)%26);return ch;void exit( int exit_code ); void sleep(int n)int i=0,j=0;for(j=0;j=n;j+)for(i=0;i2000;i+)i+;void menu1()/*菜单,1.字母倒排序,2.恺撒密码*/ system(CLS); printf(n=信管0804班祝黎=); printf(n1.字母倒排序); printf(n2.恺撒密码); printf(n3.Quitn); printf(=n); printf(Please select a item:); return;void menu()/*菜单,1.加密,2.解密,3.暴力破解,密码只能是数字*/system(CLS);/clrscr();printf(n=);printf(n1.Encrypt the file);printf(n2.Decrypt the file);printf(n3.Force decrypt file);printf(n4.Quitn);printf(=n);printf(Please select a item:);return;void main()int i,n;char ch0,ch1,ch2;int s,j,a;char str1M=0, str2M=0;FILE *in,*out;char infile20,outfile20;/textbackground(0);/textcolor(10);system(CLS);/clrscr();sleep(3);/*等待3秒*/menu1();ch0=getch();printf(%c,ch0);while(ch0!=3)if(ch0=1)/system(CLS);/clrscr();printf(n);printf(1. 加密n);printf(2. 解密n);printf(3. 返回上级菜单n); /printf(4. Quitn);printf(the way you choose:);scanf(%d,&a);switch(a) case 1: printf(请输入要加密的原文n);fflush(stdin);gets(str1);s=strlen(str1);for(j=0;js;j+)str2j=219-str1j;printf(得到密文是:n);puts(str2); break; case 2: printf(请输入要解密的密文:n);fflush(stdin);gets(str1);s=strlen(str1);for(j=0;js;j+)str2j=219-str1j;printf(得到原文:n);puts(str2); break; case 3: /menu1(); break; default:printf(输入错误); menu1();ch0=getch();/if(ch0=1)if(ch0=2)system(CLS);/clrscr();menu();ch2=getch();while(ch2!=4)if(ch2=1) system(CLS);/clrscr(); printf(nPlease input the infile:); scanf(%s,infile);/*输入需要加密的文件名*/ if(in=fopen(infile,r)=NULL)printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the key:); scanf(%d,&n);/*输入加密密码*/ printf(Please input the outfile:); scanf(%s,outfile);/*输入加密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); while(!feof(in)/*加密*/ fputc(encrypt(fgetc(in),n),out); printf(nEncrypt is over!n); fclose(in); fclose(out); sleep(1);/if(ch2=1) if(ch2=2) system(CLS);/clrscr();printf(nPlease input the infile:);scanf(%s,infile);/*输入需要解密的文件名*/if(in=fopen(infile,r)=NULL) printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the key:); scanf(%d,&n);/*输入解密密码(可以为加密时候的密码)*/ n=26-n; printf(Please input the outfile:); scanf(%s,outfile);/*输入解密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); while(!feof(in) fputc(encrypt(fgetc(in),n),out); printf(nDecrypt is over!n); fclose(in); fclose(out); sleep(1); /if(ch2=2) if(ch2=3) system(CLS);/clrscr(); printf(nPlease input the infile:); scanf(%s,infile);/*输入需要解密的文件名*/ if(in=fopen(infile,r)=NULL) printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the outfile:); scanf(%s,outfile);/*输入解密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); for(i=1;i=25;i+)/*暴力破解过程,在察看信息正确后,可以按Q或者q退出*/ rewind(in);rewind(out);system(CLS);/clrscr();printf(=n);printf(The outfile is:n);printf(=n);while(!feof(in) ch1=encrypt(fgetc(in),26-i); putch(ch1); fputc(ch1,out);printf(n=n);printf(The current key is: %d n,i);/*显示当前破解所用密码*/printf(Press Q to quit and other key to continue.n);printf(=n);ch1=getch();if(ch1=q|ch1=Q)/*按Q或者q时退出*/system(CLS);/clrscr();printf(nGood Bye!n);fclose(in);fclose(out);sleep(3);exit(0); printf(nForce decrypt is over!n); fclose(in); fclose(out); sleep(1);/if(ch2=3) menu();ch2=getch();/while(ch2!=4)menu1();ch0=getch();/if(ch0=2)/while(ch0!=3)system(CLS);/clrscr();printf(nGood Bye!n);sleep(3);(2)结论采用单字母替换加密能够轻易实现字符或文件的加密工作,但同时也容易被破解,要想有更安全的加密,则需选择更加安全的算法。实验报告评语及成绩(请按优,良,中,及格,不及格五级评定) 成绩: 教师签字:实验项目名称进程管理实验实验成绩实 验 者专业班级组 别同 组 者实验日期2010 年11月28日第一部分:实验预习报告1、 实验目的、意义用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。2、 实验基本原理与方法进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。 每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 进程的运行时间以时间片为单位进行计算。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。3、 主要仪器设备及耗材实验室提供计算机和上网条件,C语言上机环境。4、 实验方案与技术路线(综合性、设计性实验)第二部分:实验过程记录实验原始记录(包括实验数据记录,实验现象记录,实验过程发现的问题等)(1)输入一个进程号和优先级以及运行时间,如下:依次执行,执行过程如下:当运行的时间达到时,进程结束,如下第三部分 结果与讨论(可加页)实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)程序设计类实验:包括源程序、输入数据、运行结果、实验过程发现的问题及解决方法等;分析与设计、软件工程类实验:编制分析与设计报告,要求用标准的绘图工具绘制文档中的图表。系统实施部分要求记录核心处理的方法、技巧或程序段;其它实验:记录实验输入数据、处理模型、输出数据及结果分析(1)源程序#include #include #include #include #define getpch(type) (type*)malloc(sizeof(type) #define NULL 0 struct pcb /* 定义进程控制块PCB */ char name10; char state; int super; int ntime; int rtime; struct pcb* link; *ready=NULL,*p; typedef struct pcb PCB; void sort() /* 建立对进程进行优先级排列函数*/ PCB *first, *second; int insert=0; if(ready=NULL)|(p-super)(ready-super) /*优先级最大者,插入队首*/ p-link=ready; ready=p; else /* 进程比较优先级,插入适当的位置中*/ first=ready; second=first-link; while(second!=NULL) if(p-super)(second-super) /*若插入进程比当前进程优先数大,*/ /*插入到当前进程前面*/ p-link=second; first-link=p; second=NULL; insert=1; else /* 插入进程优先数最低,则插入到队尾*/ first=first-link; second=second-link; if(insert=0) first-link=p; void input() /* 建立进程控制块函数*/ int i,num; system(CLS);/clrscr(); /*清屏*/ printf(n 请输入进程号:); scanf(%d,&num); for(i=0;iname); printf(n 输入进程优先数:); scanf(%d,&p-super); printf(n 输入进程运行时间:); scanf(%d,&p-ntime); printf(n); p-rtime=0;p-state=w; p-link=NULL; sort(); /* 调用sort函数*/ int space() int l=0; PCB* pr=ready; while(pr!=NULL) l+; pr=pr-link; return(l); void disp(PCB * pr) /*建立进程显示函数,用于显示当前进程*/ printf(n qname t state t super t ndtime t runtime n); printf(|%st,pr-name); printf(|%ct,pr-state); printf(|%dt,pr-super); printf(|%dt,pr-ntime); printf(|%dt,pr-rtime); printf(n); void check() /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安理工大学《新时代高校劳动教育通论》2023-2024学年第二学期期末试卷
- 南京理工大学《乒乓球教学》2023-2024学年第二学期期末试卷
- 吉首大学张家界学院《声乐一》2023-2024学年第二学期期末试卷
- 滁州职业技术学院《民间美术图形创新设计》2023-2024学年第二学期期末试卷
- 桂林医学院《软件设计模式与体系结构(双语)》2023-2024学年第二学期期末试卷
- 社区服务中心设计
- 小学科学实验室安全教育
- 2024年水电站计算机监控装置项目资金筹措计划书代可行性研究报告
- 相关管理规定制度的教育
- 新生儿肺炎护理
- 吉林市富源石材有限公司三佳子饰面花岗岩及周边矿区矿山地质环境保护与土地复垦方案
- 2022年上海奉贤经济发展有限公司招聘笔试题库及答案解析
- 新教材人教版高中数学必修第二册全册教案(教学设计)
- DB23∕T 440-1996 柞蚕生产技术规程
- 药物溶解与溶出及释放-精品医学课件
- 安达信-深圳证券交易所人力资源管理咨询项目现状分析报告PPT课件
- 毕业论文行星减速器设计完稿
- 安徽高中毕业生登记表(共7页)
- 半波偶极子天线地HFSS仿真设计
- 混凝土搅拌车车队管理制度
- 小学生美术课件-第16课--你会设计邮票吗|苏少版-(31张PPT)
评论
0/150
提交评论