《MIS系统软件》实验报告

上传人:工**** 文档编号:558086997 上传时间:2023-11-14 格式:DOC 页数:21 大小:256KB
返回 下载 相关 举报
《MIS系统软件》实验报告_第1页
第1页 / 共21页
《MIS系统软件》实验报告_第2页
第2页 / 共21页
《MIS系统软件》实验报告_第3页
第3页 / 共21页
《MIS系统软件》实验报告_第4页
第4页 / 共21页
《MIS系统软件》实验报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《《MIS系统软件》实验报告》由会员分享,可在线阅读,更多相关《《MIS系统软件》实验报告(21页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上学生学号 实验课成绩学 生 实 验 报 告 书实验课程名称MIS系统软件开课学院管理学院指导教师姓名学生姓名学生专业班级2010-2011学年第一学期实验项目名称加密解密算法实验成绩实 验 者专业班级组 别同 组 者实验日期2010年 11月22日第一部分:实验预习报告1、 实验目的、意义通过简单的加密解密算法的实现理解系统中加密解密的基本思想,熟练掌握使用C语言基本语句。2、 实验基本原理与方法单字母替换加密方法恺撒密码加密方法是把英文字母按字母表的顺序编号作为明文,将密钥定为m,加密算法为将明文加上密钥m,得到密码表,通过相反的过程由密文得到明文。单字母替换加密方

2、法单表置换密码 由密钥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、 主要仪器设备及

3、耗材实验室提供计算机和上网条件,C语言上机环境。4、 实验方案与技术路线(综合性、设计性实验)(1)选定一种加密解密算法,对该算法实现的思路进行分析;(2)编程实现选定的算法(3)对所编写的程序进行调试(4)对程序运行的结果进行截图(5)对实验结果进行分析第二部分:实验过程记录实验原始记录(包括实验数据记录,实验现象记录,实验过程发现的问题等)(1)实验数据和文件(2)程序运行主菜单界面(3)单字母替换加密主菜单界面下,选择1,进入单字母替换加密算法,直接由屏幕输入字符,过程如下:输入字符串“zhuli”,但击回车键,屏幕输出加密后的字符“asfor”(钥为默认值),同时显示出子菜单,进行下一

4、步的选择。进行解密操作步骤如下:输入字符串“asfor”,但击回车键,屏幕输出解密后的字符“zhuli”,同时显示出子菜单,进行下一步的选择。返回主菜单步骤如下:(4)凯撒加密算法文件操作在主菜单下,选择选项2,则进入子菜单二,如下图选择1,进行文件的加密操作,操作步骤如下图:选择in.txt文件,对其加密,采用凯瑟加密算法,密钥设置为2,加密后的内容写入文件out.txt文件中。in.txt文件和out.txt文件中的内容如下图所示:接着选择解密文件,对out.txt文件中的内容进行解密,操作步骤如下:output.txt文件中的内容如下,与源文件内容相同:(5)暴力破解文件过程如下选择子菜

5、单2中的菜单3项,输入要破解的文件名,屏幕显示文件的内容,如下图第三部分 结果与讨论(可加页)实验结果分析(包括数据处理、实验现象分析、影响因素讨论、综合分析和结论等)程序设计类实验:包括原程序、输入数据、运行结果、实验过程发现的问题及解决方法等;分析与设计、软件工程类实验:编制分析与设计报告,要求用标准的绘图工具绘制文档中的图表。系统实施部分要求记录核心处理的方法、技巧或程序段;其它实验:记录实验输入数据、处理模型、输出数据及结果分析(1)源代码#include#include #include#include/#include#define M 100char encrypt(char c

6、h,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); print

7、f(=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,c

8、h1,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.

9、 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(得到原文

10、: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

11、 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!

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

当前位置:首页 > 办公文档 > 教学/培训

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