900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Java文件/文件夹 加密解密工具(Swing版)

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

时间:2023-05-02 14:38:15

相关推荐

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

前言

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

基本原理:

Java利用字节型文件流进行文件的复制粘贴,文件加密与解密

Java使用字节型文件流完成文件夹的复制(递归)

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

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

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

样例代码

funBtn.addMouseListener(new MouseAdapter() {@Overridepublic 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("文件加密/解密工具");}}});

运行截图

源码

链接:/s/1RDgnWak4SYWgUubm7DLd7A

提取码:aiko

exe文件(可直接运行于安装JRE的电脑上):

链接:/s/1CUOfIprgveEuywzf9Ql6Uw

提取码:8eb7

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。