1. 程式人生 > >編寫一個檔案加解密程式通過命令列完成加解密工作

編寫一個檔案加解密程式通過命令列完成加解密工作

import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Encryption {
 private static final int numOfEncAndDec=0x99;//加密解密金鑰
 private static int dataOfFile=0;//檔案位元組內容

 public static void main(String[] args) {
  File srcFile
=new File("aaaa.txt");//初始化檔案 File encFile=new File("bbbb.txt"); //加密檔案 File decFile=new File("cccc.txt"); //解密檔案 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"); } 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"); } 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(); } }