这里使用的是文件读写流的时候进行异位算法,方法也比较简单。
详细见代码,可以是任何文件,图片,pdf等;
package inno320; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; public class FileEncAndDec { 	private static final int numOfEncAndDec = 0x99; // 加密解密秘钥 	private static int dataOfFile = 0; // 文件字节内容 	public static void main(String[] args) { 		File srcFile = new File("g:\zanshan.jpg"); // 初始文件 		File encFile = new File("f:\encFile.jpg"); // 加密文件 		File decFile = new File("f:\decFile.jpg"); // 解密文件 		try { 			encFile(srcFile, encFile); // 加密操作 			decFile(encFile,decFile); 		} catch (Exception e) { 			e.printStackTrace(); 		} 	} 	private static void encFile(File srcFile, File encFile) throws Exception { 		if (!srcFile.exists()) { 			System.out.println("source file not exixt"); 			return; 		} 		if (!encFile.exists()) { 			System.out.println("encrypt file created"); 			encFile.createNewFile(); 		} 		InputStream fis = new FileInputStream(srcFile); 		OutputStream fos = new FileOutputStream(encFile); 		while ((dataOfFile = fis.read()) > -1) { 			fos.write(dataOfFile ^ numOfEncAndDec); 		} 		fis.close(); 		fos.flush(); 		fos.close(); 	} 	private static void decFile(File encFile, File decFile) throws Exception { 		if (!encFile.exists()) { 			System.out.println("encrypt file not exixt"); 			return; 		} 		if (!decFile.exists()) { 			System.out.println("decrypt file created"); 			decFile.createNewFile(); 		} 		InputStream fis = new FileInputStream(encFile); 		OutputStream fos = new FileOutputStream(decFile); 		while ((dataOfFile = fis.read()) > -1) { 			fos.write(dataOfFile ^ numOfEncAndDec); 		} 		fis.close(); 		fos.flush(); 		fos.close(); 	} } 
中间为加密后的文件,无法在正常打开,右边为解密 的文件,这里的密钥可以自己定义

