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

📄 filede.java

📁 用JAVA做的一个RSA加密解密程序,能实现密钥的生成并且对文件进行加密和解密
💻 JAVA
字号:
//
//
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

	

public class FileDE extends JFrame

{
	private JButton btn_exit,btn_deCipher,btn_enCipher,btn_MakeKey;//定义按钮
	
	public FileDE()
	{
		//初始化面板
		super("文件加密解密程序");//设置标题文字
		Container container = getContentPane();
		container.setLayout(new FlowLayout());
		
		//初始化按钮
		btn_deCipher=new JButton();
		btn_deCipher.setText("制作密钥");
		
		btn_enCipher=new JButton();
		btn_enCipher.setText("加密文件");
		
		btn_MakeKey=new JButton();
		btn_MakeKey.setText("解密文件");		
		
		btn_exit=new JButton();
		btn_exit.setText("退出");
		
		
		//向面板插入按钮
		container.add( btn_deCipher  );
		container.add( btn_enCipher );		
		container.add( btn_MakeKey );
		container.add( btn_exit  );
		
		//给按钮添加事件监听
		ButtonHandler handler = new ButtonHandler();
		btn_deCipher.addActionListener( handler );
		btn_enCipher.addActionListener( handler );
		btn_MakeKey.addActionListener ( handler );
		btn_exit.addActionListener ( handler );
		
		setSize(150,200);
		setVisible(true);
	}
	
	public static void main(String args[])
	{
		//生成应用程序框架
		FileDE application = new FileDE();
		
		//应用程序退出方式
		application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
    //按钮事件监听
	public class ButtonHandler implements ActionListener
	{	
	   
		public void actionPerformed( ActionEvent event )
		{
			//按下的是 制作密钥 按钮
			if(event.getActionCommand()=="制作密钥")
			{
				///////////////////////////part 1 /////////////////////////////
				
				//生成makekey对象并初始化
				makekey m_makekey=new makekey();
				
				///////////////////////////part 2 /////////////////////////////
				
				//弹出保存公钥文件对话框
				JFileChooser fileChooser = new JFileChooser();
				fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fileChooser.setDialogTitle("请选择公钥存放的文件");
				int result = fileChooser.showSaveDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File filename = fileChooser.getSelectedFile();
				//把公钥写入文件
				m_makekey.saveEtofile(filename.getPath());

				//////////////////////////part 3 //////////////////////////////

                //弹出保存私钥文件对话框
				fileChooser.setDialogTitle("请选择私钥存放的文件");
				result = fileChooser.showSaveDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				filename = fileChooser.getSelectedFile();
				
				//把私钥写入文件
				m_makekey.saveDtofile(filename.getPath());
				
			}
			
			//按下的是 加密文件 按钮
			else if(event.getActionCommand() == "加密文件")
			{
				//////////////////////////part 1 ///////////////////////////////
				
				//弹出打开加密文件对话框
				JFileChooser fileChooser = new JFileChooser();
				fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fileChooser.setDialogTitle("请选择要加密的文件");
				int result = fileChooser.showOpenDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File enfilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 2 ////////////////////////////////
				
				//弹出选择公钥文件对话框
				fileChooser.setDialogTitle("请选择公钥文件");
				result = fileChooser.showOpenDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File keyfilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 3 ////////////////////////////////
				
				//弹出选择加密输出的文件对话框
				fileChooser.setDialogTitle("请选择要加密后的输出文件");
				result = fileChooser.showSaveDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File outfilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 4 ////////////////////////////////
				
				//加密并输出文件
				enCipher m_enCipher = new enCipher(
					enfilename.getPath (),
					keyfilename.getPath(),
					outfilename.getPath() );
				
				
			}
			//按下的是 解密文件 按钮
			else if(event.getActionCommand() == "解密文件")
			{
				//////////////////////////part 1 ///////////////////////////////
				
				//弹出打开解密文件对话框
				JFileChooser fileChooser = new JFileChooser();
				fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
				fileChooser.setDialogTitle("请选择要解密的文件");
				int result = fileChooser.showOpenDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File defilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 2 ////////////////////////////////
				
				//弹出选择私钥文件对话框
				fileChooser.setDialogTitle("请选择私钥文件");
				result = fileChooser.showOpenDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File pkeyfilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 3 ////////////////////////////////
				
				//弹出选择解密输出的文件对话框
				fileChooser.setDialogTitle("请选择解密后的输出文件");
				result = fileChooser.showSaveDialog(null);
				
				//获取文件名
				if( result == JFileChooser.CANCEL_OPTION)
					return;
				File outfilename = fileChooser.getSelectedFile();
				
				/////////////////////////part 4 ////////////////////////////////
				
				//解密并输出文件
				deCipher m_deCipher = new deCipher(
					defilename.getPath (),
					pkeyfilename.getPath(),
					outfilename.getPath() );
				
					
			}
			else if(event.getActionCommand() == "退出")
			{
				System.exit(0);
			}
			

			//JOptionPane.showMessageDialog(FileDE.this,"press"+event.getActionCommand());	
		}
		
	}
	
	
}

⌨️ 快捷键说明

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