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

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

packagecom.zs.JiaJiE09;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStream;/** * 使用装饰设计模式把数据取反进行加密解密 * Key方法为钥匙 * *@authorLZG * */publicclassJMOutputStreamextendsOutputStream{/** * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com  *@author小沫 */privateintkey;privateOutputStream output;publicJMOutputStream(OutputStream output){this.output=output;}publicvoidKey(intkey){this.key=key;}publicvoidwrite(intb)throwsIOException{output.write(~b+key);}publicvoidwrite(byte[] b,intoff,intlen)throwsIOException{for(inti = off; i < len; i++) {output.write(~b[i]+key);}}publicvoidwrite(byte[] b)throwsIOException{for(inti =0; i < b.length; i++) {output.write(~b[i]+key);}}}

测试类:

packagecom.zs.JiaJiE09;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;publicclassTest{/** * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com  *@author小沫 */publicstaticvoidmain(String[] args)throwsIOException{FileInputStream fin=newFileInputStream("e:/test/aa.txt");JMOutputStream fout =newJMOutputStream(newFileOutputStream("d:/test/aa111.txt"));fout.Key(1402);byte[] b =newbyte[1024];while(fin.available()!=0){intlen = fin.read(b);fout.write(b,0, len);}fin.close();fout.close();}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,238评论 18 399
  • 9af0e05c6c75阅读 2,934评论 0 0
  • 初学Java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结...
    赌书只道是寻常阅读 3,134评论 1 2
  • 一、流的概念和作用。 流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输...
    布鲁斯不吐丝阅读 13,432评论 2 95
  • 我做过的那些傻事 差点让自己万劫不复的是,和杨去开舞厅。喜欢跳舞也以为可以赚钱,贷款65万,折腾两年。经历了杨女友...
    行一馆阅读 1,324评论 0 0

友情链接更多精彩内容