Java文件/文件夹 加密解密工具(Swing版)

前言

这是一款自设计的文件加密工具,没有用到多线程和高级流,性能上还是和市面上的软件有很大差异。

基本原理:
Java利用字节型文件流进行文件的复制粘贴,文件加密与解密
Java使用字节型文件流完成文件夹的复制(递归)

并且增加了输入密码对文件进行加密的功能,如果密码输入不正确,解密后的文件是无法查看的。

加密时对所有字节做了处理,因此它适用于普通文本文件的加密。

使用到了递归,因此它也适用于文件夹的加密。

样例代码

        funBtn.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if(sourceField.getText()==null || sourceField.getText().trim().equals("") || objField.getText()==null || objField.getText().trim().equals("")) {
                    JOptionPane.showMessageDialog(CoreFrame.this, "您还没有选择文件呢,请选择您的文件");
                    return;
                }
                String sourcePath = sourceField.getText();
                String objPath = objField.getText();
                boolean isEncryp = false;
                if (option.equals("加密")){
                    isEncryp = true;
                }else if(option.equals("解密")){
                    isEncryp = false;
                }else{
                    JOptionPane.showMessageDialog(CoreFrame.this,"程序错误,请重启");
                }
                try {
                    FileSuperOption fileSuperOption = new FileSuperOption();//new一个对象,保证每次的isFirstCopy刚开始都是true!!
                    if (passwordField.getText()==null || passwordField.getText().equals("")) {
                        //不使用密码加密/解密
                        fileSuperOption.superCopy(sourcePath, objPath, isEncryp);
                    }
                    else {
                        //使用密码加密/解密
                        fileSuperOption.superCopy(sourcePath, objPath, isEncryp, passwordField.getText());
                    }
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(CoreFrame.this,"路径有误,建议不要手工输入!");
                }
                //JOptionPane.showMessageDialog(CoreFrame.this,option+"成功!");
                int item = JOptionPane.showConfirmDialog(CoreFrame.this, option + "成功!是否返回功能首页?");
                if (item==0){
                    CoreFrame.this.setVisible(false);
                    new IndexFrame("文件加密/解密工具");
                }
            }
        });

运行截图

Java文件/文件夹 加密解密工具(Swing版)_第1张图片
Java文件/文件夹 加密解密工具(Swing版)_第2张图片
Java文件/文件夹 加密解密工具(Swing版)_第3张图片
Java文件/文件夹 加密解密工具(Swing版)_第4张图片

源码

链接:https://pan.baidu.com/s/1RDgnWak4SYWgUubm7DLd7A
提取码:aiko

exe文件(可直接运行于安装JRE的电脑上):
链接:https://pan.baidu.com/s/1CUOfIprgveEuywzf9Ql6Uw
提取码:8eb7

你可能感兴趣的:(JAVA)