版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、院 系:数学与统计学学院专 业:信息与计算科学 年 级: 11 级 课程名称: XXXXX 学 号: XXXXX XXXXX 姓 名: XXXXX 指导教师: XXXXX 2014年 10 月26 日年 级 班号 学 号专 业 姓 名实验名 称 实验一 Enigma密码实 验类 型设计型综合型创新型实验目的或要求 通过使用Engima密码模拟器,加深对古典密码体制的了解,为深入学习现代密码学奠定基础。实验原理(算法流程)1.实验原理 ENIGMA看起来像一个装满了复杂而精致的元件的盒子,其内部被分解成相当简单的三部分:键盘、转
2、子和显示器。下面是它的最基本部分的示意图(图示已简化,字母和灯应分别有26个)。图1-1由图可知,水平面板的下面部分是有26个键的键盘,键盘排列类似于我们现在使用的计算机键盘。键盘上方就是显示器,它由标示了同样字母的26个小灯组成,当键盘上的某个键被按下时,和此字母被加密后的密文相对应的小灯就在显示器上亮起来。在显示器的上方是三个转子,它们的主要部分隐藏在面板之下。 键盘、转子和显示器由电线相连,电线把键盘的信号对应到显示器不同的小灯上去。在示意图中我们可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成
3、了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe,显示器上就会依次显示DBCE。这是最简单的加密方法之一,把每一个字母都按一一对应的方法替换为另一个字母,这样的加密方式叫做“简单替换密码”。 简单替换密码在历史上很早就出现了。著名的“凯撒法”就是一种简单替换法,它把每个字母和它在字母表中后若干个位置中的那个字母相对应。比如取后三个位置,那么字母的一一对应就如下表所示: 明码字母表:abcdefghijklmnopqrstuvwxy 密码字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 于是我们就可以从明文得到密文:&
4、#160; 明文:veni, vidi, vici 密文:YHAL, YLGL, YLFL实验结果分析及心得体会 2 实验步骤 (1)消息发送者利用Engima模拟器进行下列操作: 明文: INFORMATION SECURITY 模拟器参数设置:UKW: B Walzen: I II V Ringstellung: F-06 V-22 N-14 Stecker: BG CD ER FV HN IU JK LM OP TY 生成:在转子的起始位置:XWB,生成INFORMATION SECURITY的密文;模拟器 显示如图2-1。图2-1将转子的起始位置设为
5、ABC,XWB的密文如图2-2: 图2-2传递给接收者的信息截图:图2-3 (2)接收者收到信息后:接收者收到信息对XWB 的密文和INFORMATION SECURITY的密文进行解密,给出明文,如图2-4,图2-5。图2-4 图2-5年级班号 学号专业信息与计算科学 姓名实验名称 实验三 基于构件的B/S三层体系结构设计实验类型设计型综合型创新型实验目的或要求基于B/S三层体系结构,实现用户身份验证。能够熟练应用加密解密算法,基本掌握身份验证的整个流程。理解软件体系结构的思想,掌握4+1视图和用UML描述体系结构的方法。理解JavaBean的概念,掌握JSP
6、中JavaBean的使用,编写基于组件的B/S程序。实验原理(算法流程) 1实验原理 1.1 JSP+APPLET+JAVABEAN结构4+1视图是从5个不同的视角包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。根据4+1视图,场景视图如图1-1所示:图1-1 场景视图使用JSP+APPLET+JAVABEAN结构实现程序:A. 程序逻辑结构:客户端通过浏览器下载APPLET和加密解密算法jar包,把密码加密成密文后发往服务器。服务器接收到后调用JAVABEAN组件的方式解
7、密密文,得到密码,连接数据库,查询数据库,对登陆信息中用户名和密码验证。B. JavaBean组件JavaBean就是一个Java类,也就意味着,JAVA的一切特性,此处都可以使用,此JavaBean没有图形显示代码,只是完成基本业务逻辑,JavaBean可以使用JAVA的封装、继承、多态,使用JavaBean封装许多重复调用的代码,使用JavaBean可以达到显示与业务的分离,显示使用JSP,业务使用JavaBeanJavaBean的优点:·提高代码的可复用性 对于通用的事务处理逻辑,数据库操作等都可以封装在JavaBean中,通过调用JavaBean的属性和方法可以快速的进行程序
8、设计。·程序易于开发维护 实现逻辑的封装,使事务处理和显示互不干扰。·支持分布式运用 多用JavaBean,尽量减少java代码和Jsp的混编。图1-2 web服务器目录结构C. Applet组件Applet或Java小应用程序是一种在Web环境下,运行于客户端的Java程序组件。它也是上世纪90年代中期,Java在诞生后得以一炮走红的功臣之一。通常,每个Applet的功能都比较单一(例如仅用于显示一个舞动的Logo),因此它被称作“小应用程序”。Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内
9、的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。图1-3 Applet程序运行图 1.2“4+1”视图 (1)逻辑视图图1-4 逻辑视图 (2)开发视图 图1-5 开发视图 (3)进程视图图1-6 进程视图 (4)物理视图 (5)场景视图 图 1-7 物理视图 图1-8 场景视图 2实验步骤2.1组件的图形及核心代码(1)用户登录组建如下所示:图2-1用户登录界面(2)登陆成功界面图
10、2-2 登陆成功(3)登录失败界面:图2-3 登录失败界面(4) 保存用户名与密码到数据库界面:图2-4 保存账号数据 3实验结果分析1. 对于B/S,只需在客户端安装通用的浏览器,所有的维护和升级工作都是在服务器上执行的,不需对客户端进行任何改变,故而大大降低了开发和维护成本。2. B/S的客户端把事务逻辑部分分给了服务器,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,任务大大减轻。3. B/S所采用的标准是开放的、非专用的,保证了其应用的通用性和跨平台性。4. B/S各层之间相互独立,任何一层的改变不影响其它层的功能,系统改进非常容易,灵活性好。附件实验三源码:import j
11、ava.awt.*;import java.applet.Applet;import java.awt.event.*;import java.lang.String;import com.mima.jiami;public class abc extends Applet public Label nameLabel,passwardLabel,titleLabel; public TextField name,passward; public void init() setLayout(null); titleLabel = new Label("用户登陆"); tit
12、leLabel.setFont(new Font("Times New Roman",Font.BOLD,30); titleLabel.setBackground(Color.orange); nameLabel = new Label("用户名:"); nameLabel.setFont(new Font("Times New Roman",Font.BOLD,30); nameLabel.setBackground(Color.green); nameLabel.setForeground(Color.red); passwar
13、dLabel = new Label("密码:"); passwardLabel.setFont(new Font("Times New Roman",Font.BOLD,30); passwardLabel.setBackground(Color.green); passwardLabel.setForeground(Color.red); name = new TextField(""); name.setFont(new Font("Times New Roman",Font.BOLD,30); passwa
14、rd = new TextField(""); passward.setFont(new Font("Times New Roman",Font.BOLD,30); passward.setEchoChar('*'); titleLabel.setLocation(200,0);titleLabel.setSize(140,70); nameLabel.setLocation(100,100);nameLabel.setSize(120,50); name.setLocation(250,100);name.setSize(200,40)
15、; passwardLabel.setLocation(100,200);passwardLabel.setSize(120,50); passward.setLocation(250,200);passward.setSize(200,40); add(nameLabel);add(name); add(titleLabel); add(passwardLabel);add(passward); public String getPassword() tryString aPass= passward.getText();jiami ajiami = new jiami();String m
16、i=ajiami.jiaMi(aPass);return mi; catch (Exception e) return("error"); public String getName() String aname=name.getText(); return aname; <%page contentType="text/html;charset=gb2312"%><HTML><HEAD><TITLE>小测试</TITLE></HEAD><BODY><center&
17、gt;<form action="login_conf.jsp" method=post name="myForm" ><APPLET CODE="abc.class" id=abc archive="com.mima.jar" WIDTH="700"HEIGHT="300"></APPLET><p><input type=hidden name="name"></p><p>
18、;<input type=hidden name="password"></p> <script language=JScript> function processApplet() parent.myF.value = abc.getName(); parent.myForm.password.value = abc.getPassword(); /* alert("Sent to form: Image Name: " + parent.myF.value + " Imag
19、e Number: " + parent.myForm.password.value); */ </script> <input type=submit value="确认" style="width:100px;height:30px" language="JScript" onClick="processApplet();"> </form> </center></BODY></HTML><%page contentType
20、="text/html;charset=gb2312"%><html><head><title>登陆</title></head><body><center><h1>登陆范例用户名及密码固定</h1><hr><br><br><h2>登陆成功</h2><h3>欢迎<font color="red" size="15"><%=reques
21、t.getParameter("name")%></font>光临!</h3></center></body></html><%page contentType="text/html;charset=gb2312"%><html><head><title>登陆</title></head><body><center><h1>登陆范例用户名及密码固定</h1><hr&
22、gt;<br><br><h2>登陆失败</h2><h3>错误的用户名及密码!</h3><a href="login.jsp">重新登陆</a></center></body></html><% page contentType="text/html;charset=gb2312"%><jsp:useBean id="Sec" scope="page" class="com.mima.jiemi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国玻璃连续热弯炉行业投资前景及策略咨询研究报告
- 2025至2031年中国热轧不锈钢中厚板行业投资前景及策略咨询研究报告
- 2025至2030年中国粗滤箱总成数据监测研究报告
- 2025至2030年中国物理增高鞋垫数据监测研究报告
- 2025至2030年中国办公设备零配件数据监测研究报告
- 二零二五年度农村金融委托贷款合作协议3篇
- 人教版二年级数学上册《第一单元综合测试卷》试题及参考答案
- 二零二五年度个人购房贷款合同及家庭财产保险担保协议
- 二零二五版个人合伙跨境电商公司退伙利润分成合同3篇
- 二零二五版学校校园文化活动策划与执行合同2篇
- 医保政策与健康管理培训计划
- 无人化农场项目可行性研究报告
- 《如何存款最合算》课件
- 社区团支部工作计划
- 拖欠工程款上访信范文
- 2024届上海市金山区高三下学期二模英语试题(原卷版)
- 学生春节安全教育
- 2024-2025年校长在教研组长和备课组长会议上讲话
- 《wifi协议文库》课件
- 《好东西》:女作者电影的话语建构与乌托邦想象
- 教培行业研究系列(七):出国考培的再研究供需变化的新趋势
评论
0/150
提交评论