`

文件I/O流,及浅显加密解密

    博客分类:
  • JAVA
 
阅读更多

             I/O流在文件中尤为重要,尤其是文件中,我们鼠标中让你一天中用到最多的什么

复制,粘贴,剪切,新建,删除,等等都涉及到了文件操作,我们在感叹方便之余是不是也想实现这一功能呢,

其实我们在安装windows时候,这些代码就已经被编好,并且快捷到我们鼠标右键中,方便我们的使用,然而在使用着这些应用时,也想自己做出这样的代码,于是在刚刚学了I/O流之后,就可以动手操作了,在学会了读写之后,就可以添加COPY

也就是复制,粘贴·功能,之后的加密解密就迎刃而解了。

以下是关键代码:

package 文件;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class File {
	
	//实现读的功能
	public void read(String filename){
		try {
			//接收定义文件名为filename的文件,若不存在则报错
			FileInputStream fin=new FileInputStream(filename);
			//一个一个字节去读取文件中的值,此类不适用于汉字
			byte n=(byte)fin.read();
			//当n=-1时,代表已经读到末尾
			while(n!=-1){
				//进行输出
				//System.out.println(n);//此时读出的是每个字符的ASCLL码
				System.out.print((char)n);//此时读出的是原文档文字
				//继续接收
				n=(byte)fin.read();
			}
			//得到输入流的剩余字节数量
			int len = fin.available();
			byte[] bytes = new byte[len];
			//从输入流中读取数据到bytes
			int num = fin.read(bytes);
			
			//GB2312,GBK,UTF-8,ISO-8859-1....
			String content = new String(bytes, "GBK");
			System.out.println(content);

			//记住一定要关闭文件
			fin.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	//实现写的功能
	public void write(String filename){
		try {
			//将要写入的文件,命为filename,如若不存在,不报错,直接新建
			//所以这也相当于新建功能
			FileOutputStream fout=new FileOutputStream(filename,false);
			fout.write(232);
			String s="";
			byte[] bytes=s.getBytes("GBK");
			fout.write(bytes);					
			fout.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//实现复制粘贴的供能
	public void copy(String filename1,String filename2){
		
		try {
			FileInputStream  f1=new FileInputStream(filename1);
			FileOutputStream f2=new FileOutputStream(filename2);
			int n = f1.read();
			while(n != -1){
				//边读边写
				f2.write(n);
				
				n = f1.read();
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	public static void main(String[] args){
		File f=new File ();
		f.read("E:/文件1.txt");
		f.write("E:/write.txt");
		f.copy("E:/文件1.txt", "E:/文件2.txt");
	  //f.copy("E:/Kalimba.mp3", "E:/音乐.mp3");
	}

}

 在读入的时候,java中显示读入的内容是这样的:

 



 我们注意到,凡是注释的地方成为了乱码,这是由于文件读写的时候是一个字节一个字节读的,而汉字是双字节。

之后的复制,粘贴功能截图如下



 复制后内容不变,如下:



 文件加密与解密就可以在如图n上动手脚,例如,n+1,你知道在解密的时候,需要n-1,或者你可以用更复杂的式子,发挥你的数学特长,什么傅里叶,伯努利,泰勒式子都可以往上摆,加强你的加密强度,只有你自己知道如何解密,这就是加密解密的初步思想,当然,这样的界面是不好看的,之后你可以自己设计一个JFrame界面,更加人性化实现文件功能,不止读写,copy,你可以随意添加你想要的功能,也可以设计一个小

word

 

 

 

  • 大小: 18.6 KB
  • 大小: 3.6 KB
  • 大小: 46.9 KB
2
1
分享到:
评论

相关推荐

    [加密与解密.第二版].pdf

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密(第二版) 看雪学院出版 第1部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密(第二版) 看雪学院出品 第2部分

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密 第二版 1

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    加密与解密II(PDF)

    采用循序渐进方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到加密算法及商用软件保护,这520页的一部书,几乎囊括了Windows软件保护的绝大多数内容。 本书共分三个部分。第一部分介绍与加密和解密...

    加密与解密(第二版) 配套光盘

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版].part3.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版]part2.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    [加密与解密.第二版].part4.rar

    本书全面讲述了Windows平台下的最新软件加密与解密技术及相关解决方案,采用循序渐进的方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到商用软件保护,几乎囊括了Windows下的软件保护的绝大多数内容。...

    Delphi AES DES MD5 RSA BASE64等加密算法源码实例集.rar

    包括了Delphi AES DES MD5 RSA BASE64 2DES 3DES Blowfish CRC32-Static SHA等 常用的加密算法用法实例,比较不错的Delphi加密实例代码了,浅显易懂而且实用的常见加密算法实例,包括字符串和文件加密解密等。

    《网络安全 黑客 加密与破解》中文版PDF格式

    全面揭示加密与解密技术!采用循序渐进方式,从基本的跟踪调试到深层的拆解脱壳,从浅显的注册码分析到加密算法及商用软件保护。

    C语言使用openSSL库AES模块实现加密功能详解

    1.对称加密/解密 对称加密比较常见的有DES/AES。加密方和解密方都持有相同的密钥。对称的意思就是加密和解密都是用相同的密钥。 2.非对称加密/解密 常见的加密算法DSA/RSA。如果做过Google Pay的话,应该不会陌生。...

    能实现MD5验证完整性,RSA加密消息,数据库进行登录验证的局域网聊天软件

    程序包含一个生成字符的MD5和根据路径读文件生成MD5的功能,也有一个输入数字通过RSA加解密的功能。 MD5和RSA实现较为简单,但是用户可以根据自己的需要去进行修改,毕竟已经在Qt实现了,代码也浅显易懂。 注意:并...

    DES.rar_visual c

    描述中提到的"DES加解密,自带可视化界面很方便浅显易懂",意味着这个RAR文件可能包含了一个使用C++编程语言的项目,该项目实现了DES算法并集成了一个图形用户界面(GUI)。这个GUI可能使用了Visual C++这一微软的...

    图解密码技术-结城浩

    它使用同一密钥进行数据的加密和解密,因此称为对称。对称加密算法包括但不限于AES(高级加密标准)、DES(数据加密标准)、3DES(三重数据加密算法)等。对称加密的优点是速度快、效率高,但是存在密钥分发和管理的...

    .NET编程纪实

    - 正则表达式的应用,防止SQL注入的常见方法以及数据加密解密的方法 ***配置文件(.config)的配置和使用 - webService服务的创建和使用 - 设计模式和六层架构设计,包括工厂模式、观察者模式以及反射工厂的概念 - ...

    Hacking Secret Ciphers with Python

    7. 一些具体的Python代码示例,展示如何使用编程语言来实现加密和解密技术。 在书中,作者也提到了一些关于计算机编程和Python语言的基础知识,这些是学习如何用Python来破解密码的必要条件。Python作为一门广泛...

    电子信封和数字签名资料

    接收方收到信息后,先使用相同的散列函数对信息本身进行加密,得到一个新的散列值,然后使用发送方的公钥对电子签名进行解密,如果解密得到的散列值与新生成的散列值相匹配,则说明信息在传输过程中未被篡改,且签名...

    漫画密码学

    在实际应用中,密码学技术可以用于各种场景,如电子邮件加密、网络交易安全、文件加密存储等。 通过漫画这种轻松愉快的方式学习密码学,不仅能够吸引读者的注意力,还能激发他们的学习兴趣。科学漫画作为一种教育...

    2017年高考英语七选五阅读.doc

    代码书就是一种密钥,它存储了加密和解密的规则。如果这个密钥落入不法分子之手,加密的信息将毫无安全性可言。因此,密码的保密性与安全性是一个永恒的话题,它要求我们不断地更换和更新密码,以避免被破解。 此外...

Global site tag (gtag.js) - Google Analytics