




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称:简单工厂模式一、实验目的 1了解创建型设计模式的主要作用 2理解简单工厂模式的角色及作用3掌握利用简单工厂模式进行代码设计并绘制相关UML类图 4理解简单工厂模式的优点和缺点 二、实验环境 MyEclipse7.1 JDK1.6 JDK1.6API帮助文档四、实验内容 1. 使用简单工厂模式设计一个可以创建不同几何形状(如圆形、矩形和三角形等)的绘图工具,每个几何图形都要有计算面积area()和计算周长gride()两个方法,要求在创建不支持的几何图形时,提示一个UnSupportedShapeException。(在相关工具中绘制出对应的UML类图)2. 查找相关Java中的密码技术,使用其中的类对字符串“Hello,Design Pattern”进行加密,要求使用对称加密算法TripleDES(三重DES算法),理解其中密钥生成器(KeyGenerator)和密码器(Cipher)的创建和使用。(以下是参考代码)import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.Security; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.KeyGenerator; import javax.crypto.NoSuchPaddingException; import javax.crypto.SecretKey; public class EncrypDES3 / KeyGenerator 提供对称密钥生成器的功能,支持各种算法 private KeyGenerator keygen; / SecretKey 负责保存对称密钥 private SecretKey deskey; / Cipher负责完成加密或解密工作 private Cipher c; / 该字节数组负责保存加密的结果 private byte cipherByte; public EncrypDES3() throws NoSuchAlgorithmException, NoSuchPaddingException Security.addProvider(new vider.SunJCE(); / 实例化支持DES算法的密钥生成器(算法名称命名需按规定,否则抛出异常) keygen = KeyGenerator.getInstance(DESede); / 生成密钥 deskey = keygen.generateKey(); / 生成Cipher对象,指定其支持的DES算法 c = Cipher.getInstance(DESede); /* * 对字符串加密 * * param str * return * throws InvalidKeyException * throws IllegalBlockSizeException * throws BadPaddingException */ public byte Encrytor(String str) throws InvalidKeyException, IllegalBlockSizeException, BadPaddingException / 根据密钥,对Cipher对象进行初始化,ENCRYPT_MODE表示加密模式 c.init(Cipher.ENCRYPT_MODE, deskey); byte src = str.getBytes(); / 加密,结果保存进cipherByte cipherByte = c.doFinal(src); return cipherByte; /* * 对字符串解密 * * param buff * return * throws InvalidKeyException * throws IllegalBlockSizeException * throws BadPaddingException */ public byte Decryptor(byte buff) throws InvalidKeyException, IllegalBlockSizeException, BadPaddingException / 根据密钥,对Cipher对象进行初始化,DECRYPT_MODE表示加密模式 c.init(Cipher.DECRYPT_MODE, deskey); cipherByte = c.doFinal(buff); return cipherByte; /* * param args * throws NoSuchPaddingException * throws NoSuchAlgorithmException * throws BadPaddingException * throws IllegalBlockSizeException * throws InvalidKeyException */ public static void main(String args) throws Exception EncrypDES3 des = new EncrypDES3(); String msg =Hello,design pattern; byte encontent = des.Encrytor(msg); byte decontent = des.Decryptor(encontent); S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行亳州市蒙城县2025秋招结构化面试15问及话术
- 2025年新能源汽车自动驾驶保险产品创新与行业协同发展报告
- 2025年婴幼儿配方食品营养配方中的过敏原检测与分析报告
- 新能源人才流动与竞争格局研究报告2025:技术创新驱动下的行业未来展望
- 四六级真题及答案
- 大同双题联考真题及答案
- 五年级人教版试卷及答案
- 2025年新能源行业安全生产标准化建设创新成果转化与应用前景展望
- 消防检测考试试题及答案
- 数字化技术推动零售门店智能化顾客服务报告
- 梦想课程《去远方》(版)分享课程
- 年6万吨废植物油回收利用项目立项申请报告
- 富贵包形成原因及治疗方法
- 电动起子使用教程
- 10000中国普通人名大全
- 高中数学《组合》公开课优秀课件
- 钢铁冶金学(炼钢学)课件
- 历史虚无主义课件
- 毕业论文范文3000字(精选十六篇)
- 南京力学小学苏教版六年级上册数学《分数乘分数》公开课课件
- 陶艺制作过程介绍教学课件(共48张)
评论
0/150
提交评论