⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myencryptor.java

📁 对文件进行加密
💻 JAVA
字号:
import java.security.*;
import javax.crypto.*;
import java.util.*;
import java.io.*;
import java.net.*;
import sun.misc.*;

public class MyEncryptor{
	
	public static void getKey(){
		
		try{

			KeyGenerator keyGenerator=KeyGenerator.getInstance("DES","BC"); 

			keyGenerator.init(56); 

			SecretKey key=keyGenerator.generateKey();
			
			FileOutputStream fkout = new FileOutputStream("key");
			
			ObjectOutputStream kout = new ObjectOutputStream(fkout);
			
			kout.writeObject((Object)key);
			
			fkout.close();
			
		}catch(Exception e){
			System.out.print(e);
		}		
	}
	
	public static void encryptFile(String filename,String keyfile,String fileoutname){
		
		try{

			FileInputStream fkin = new FileInputStream("key");
			
			ObjectInputStream kin = new ObjectInputStream(fkin);
			
			SecretKey key = (SecretKey)kin.readObject();
	
			Cipher cipher=Cipher.getInstance("DES/ECB/PKCS5Padding","BC"); 

			cipher.init(Cipher.ENCRYPT_MODE,key); 
					
			FileInputStream fin = new FileInputStream(filename);
			FileOutputStream fout = new FileOutputStream(fileoutname);
		
			BASE64Encoder encoder = new BASE64Encoder();			
			
			byte[] buff = new byte[10000];	
				
			int len;
			while((len=fin.read(buff))!=-1){

				String str = new String(encoder.encode(cipher.doFinal(buff,0,len)));
				
				fout.write(str.getBytes());
			}
			
			fin.close();
			fout.close();
			
		}catch(Exception e){
			System.out.print(e);
		}	
	}
		
	public static void decryptFile(String filename,String keyfile,String fileoutname){
		
		try{
	
			FileInputStream fkin = new FileInputStream("key");
			
			ObjectInputStream kin = new ObjectInputStream(fkin);
			
			SecretKey key = (SecretKey)kin.readObject();
			
			FileInputStream fin = new FileInputStream(filename);
			FileOutputStream fout = new FileOutputStream(fileoutname);

			Cipher cipher=Cipher.getInstance("DES/ECB/PKCS5Padding","BC"); 

			cipher.init(Cipher.ENCRYPT_MODE,key); 
	
			cipher.init(Cipher.DECRYPT_MODE,key); 		
				
			BASE64Decoder decoder = new BASE64Decoder();
			
			byte[] buff1 = decoder.decodeBuffer(fin);	
				
			fout.write(cipher.doFinal(buff1));				
				
			fin.close();
			fout.close();
									
		}catch(Exception e){
			System.out.print(e);
		}	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -