`
l4432848
  • 浏览: 255340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用装饰设计模式加密数据

    博客分类:
  • java
阅读更多

使用装饰设计模式加密数据:

package com.zs.JiaJiE09;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
/**
 * 使用装饰设计模式把数据取反进行加密解密
 * Key方法为钥匙
 *
 * @author LZG
 *
 */

public class JMOutputStream extends OutputStream{
/**
 * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com 

 * @author 小沫
 */

	private int key;
	private OutputStream output;
	public JMOutputStream(OutputStream output){
		this.output=output;
		
	}
	public void Key(int key){
		this.key=key;
	}
	
	public void write(int b) throws IOException {
		output.write(~b+key);
	}
	
	
	public void write(byte[] b, int off, int len) throws IOException {
		for (int i = off; i < len; i++) {
			output.write(~b[i]+key);
		}
	}

	public void write(byte[] b) throws IOException {
		for (int i = 0; i < b.length; i++) {
			output.write(~b[i]+key);
		}
	}
	
}

测试类:

package com.zs.JiaJiE09;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Test {
/**
 * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com 

 * @author 小沫
 */

	public static void main(String[] args) throws IOException{
		
		
		FileInputStream fin= new FileInputStream("e:/test/aa.txt");
		
		JMOutputStream fout = new JMOutputStream(new FileOutputStream("d:/test/aa111.txt"));
		fout.Key(1402);
		byte[] b = new byte[1024];
		
		while(fin.available()!=0){
			int len = fin.read(b);
			fout.write(b, 0, len);
		}
		
		fin.close();
		fout.close();
	}
}
分享到:
评论

相关推荐

    数据加密模块代码和类图.zip

    某软件公司要开发一个数据加密模块,可以对字符串进行加密。最简单的加密算法通过对字母进行移位来实现,同时提供了稍复杂的逆向输出加密,还...使用装饰模式设计该多重加密算法。要求画出类图,提供源码及运行结果。

    数据加密数据加密数据加密

    总的来说,数据加密是保护信息安全的关键手段,而IDEA作为一种经典的对称加密算法,其设计理念和操作流程对于理解加密原理和提升安全意识具有重要的学习意义。在面对日益复杂的信息安全威胁时,我们不仅需要了解这些...

    Java设计模式菜鸟系列教程

    命令模式是一种行为型设计模式,封装了一个请求作为一个对象,使得客户端可以使用不同的请求对客户端的参数化。它可以应用于 GUI 事件处理、异步编程、任务队列等场景。 8. 适配器模式(Adapter Pattern) 适配器...

    J2ee设计模式.pdf

    在持久性框架设计模式中,提出了如何使用持久性框架来简化数据访问的复杂性,从而提高数据处理的效率。持久性框架通常包括对象-关系映射(ORM)工具,它能够将对象模型映射到数据库模型,实现对象和数据库之间的持久...

    Java设计模式之-Decorator装饰模式

    Decorator模式,也称为装饰模式,是设计模式中的一个重要组成部分,它在不改变原有对象接口的前提下,动态地给对象添加新的功能,从而扩展了对象的能力。这篇博客()将深入探讨这个模式的细节。 装饰模式的核心...

    设计模式之装饰模式

    装饰模式是一种结构型设计模式,它允许在运行时给对象添加新的行为或责任,而无需修改对象的源代码。这种模式通过将附加功能封装到一个称为装饰者的对象中来实现,使得原有的对象类保持不变,扩展了其功能。在软件...

    Java多线程设计模式上传文件

    在Java编程中,多线程和设计模式是两个核心概念,尤其在处理并发任务时,如文件上传场景,它们的应用尤为重要。本项目旨在利用Java的多线程机制和设计模式来实现高效的文件上传功能。下面将详细介绍这两个方面的知识...

    06装饰模式_设计模式_

    装饰模式是一种结构型设计模式,它允许我们向一个对象添加新的功能或改变其行为,而无需修改原有对象的代码。这种模式在不破坏封装性的前提下,动态地给对象增加功能,提高了系统的可扩展性和可维护性。装饰模式通常...

    J2EE设计模式课程设计项目程序和课程设计报告

    该项目实现了一个小型的病历资料管理系统,该系统利用了多种设计模式,如MVC(模型-视图-控制器)、装饰器以及数据库和数据访问相关的设计模式。以下将详细阐述这些关键知识点。 1. **MVC设计模式**: MVC是J2EE...

    9.设计模式-装饰器模式1

    装饰器模式(Decorator Pattern)是一种结构型设计模式,它的核心思想是在不修改原有对象的前提下,通过包装(包裹)原对象并扩展其行为来增加功能。这种模式常用于在运行时动态地给对象添加新的职责,使得系统具有...

    04IO设计模式.zip

    3. **装饰器模式**:装饰器模式允许在运行时给对象添加新的行为或责任,这对于I/O操作尤其有用,例如我们可以用装饰器模式来实现数据的缓存、压缩或加密。 4. **适配器模式**:不同系统间的I/O接口可能不兼容,...

    设计模式详谈设计模式详谈

    设计模式是软件工程中的一种重要概念,它代表了在特定上下文中被反复使用、经过验证的设计解决方案。设计模式详谈主要涵盖了设计模式的详细使用,这包括在实际开发中的应用和优化。本文将深入探讨设计模式的分类、...

    加密版XML生成工具源码

    - 可能使用了设计模式,如工厂模式生成XML节点,策略模式选择加密算法,或者装饰者模式来封装加密过程。 4. **文件操作**: - C#中的`System.IO`命名空间提供了读写文件的功能,如`File.WriteAllText`用于写入...

    基于装饰器模式的卫星控制系统数据处理与传输.pptx

    装饰器模式是一种允许在不修改已有类的情况下,动态地向已有类添加新的功能的设计模式。这种方式通过创建一个装饰器类来实现,该类可以将新的功能添加到原有的类中,而无需直接修改原有的类。 **结构:** 装饰器...

    Java 23种设计模式13装饰模式.pdf

    装饰模式还可以与其他设计模式结合使用,例如与工厂模式一起,可以在创建对象的同时自动应用装饰器。此外,也可以通过多个装饰器的组合使用来实现更加复杂的功能扩展。 总之,装饰模式是一种非常实用的设计模式,它...

    android 中常用的开发设计模式

    在Android开发中,设计模式是提升代码质量和可维护性的重要工具。设计模式是对软件设计中常见问题的解决方案,它们经过时间和实践的检验,是解决特定编程挑战的最佳实践。以下是关于"Android中常用的开发设计模式"的...

    志愿采购模块-设计模式报告1

    2. **结构型设计模式**:这类模式关注如何将类和对象组合成更大的结构,如装饰器模式(动态地给对象添加新的行为或责任)、适配器模式(使不兼容的接口能够协同工作)以及组合模式(允许你表示部分-整体层次结构,使...

    Java开发 -- 设计模式

    ### Java开发中的23种设计模式 在软件工程领域,设计模式是一种被广泛采用的解决方案,用于解决在软件设计过程中经常遇到的问题。...在实际开发中,合理地使用这些设计模式可以极大地提高代码的质量和可维护性。

    123种JAVA设计模式和15种J2EE设计模式.pdf

    设计模式是软件开发中用于解决常见问题的模板或准则。在Java和J2EE领域中,设计模式的应用尤为重要,因为它们提供了一种通用的解决方案框架,能够使开发者在面临特定问题时能够快速地找到解决方法。文档中提到的...

    坦克游戏,用于复习设计模式,java基础和网络应用.zip

    《坦克游戏:设计模式、Java基础与网络应用的综合实践》 在计算机科学领域,游戏开发经常被用作学习和复习各种技术的平台。这款名为“坦克游戏”的项目,不仅是一个娱乐工具,更是深入理解设计模式、Java编程基础...

Global site tag (gtag.js) - Google Analytics