import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.security.*;

import javax.crypto.*;

import javax.crypto.spec.*;

/**

文件名:FileEncrypter.java

JDK:1.40以上

说明:文件加密

加密方法:三重DES加密

加密过程:对选中的文件加密后在同文件夹下生成一个增加了".tdes"

扩展名的加密文件

解密过程:对选中的加密文件(必须有".tdes"扩展名)进行解密

*/

public class FileEncrypter extends JFrame{

public static final int WIDTH = 550;

public static final int HEIGHT = 200;

public static void main(String args[]) {

FileEncrypter fe = new FileEncrypter();

fe.show();

}

FileEncrypter(){

this.setSize(WIDTH,HEIGHT);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

Toolkit tk = Toolkit.getDefaultToolkit();

Dimension screenSize = tk.getScreenSize();

this.setLocation((screenSize.width - WIDTH)/2,

(screenSize.height - HEIGHT)/2);

this.setTitle("文件加密器(TriDES)");

Container c = this.getContentPane();

c.setLayout( new FlowLayout());

final FilePanel fp = new FilePanel("文件选择");

c.add(fp);

final KeyPanel pp = new KeyPanel("密码");

c.add(pp);

JButton jbE = new JButton("加密");

c.add(jbE);

jbE.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

File file = new File(fp.getFileName());

if (file.exists())

encrypt(file.getAbsoluteFile(),pp.getKey());

else

JOptionPane.showMessageDialog(

null,"请选择文件!","提示",JOptionPane.OK_OPTION);

}

});

JButton jbD = new JButton("解密");

c.add(jbD);

jbD.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

File file = new File(fp.getFileName());

if (file.exists())

decrypt(file.getAbsoluteFile(),pp.getKey());

else

JOptionPane.showMessageDialog(

null,"请选择文件!","提示",JOptionPane.OK_OPTION);

}

});

}

/**

加密函数

输入:

要加密的文件,密码(由0-F组成,共48个字符,表示3个8位的密码)如:

AD67EA

java 文件加密_一个JAVA文件加密代码相关推荐

  1. 一个java源文件允许_一个Java源文件中最多只能有一个class定义

    一个Java源文件中最多只能有一个class定义 答:× 确诊甲状腺功能紊乱的常规指标是 答:FT3和FT4 I will not let my children in that way. 答:be ...

  2. java笔试题_一个Java程序员在百度的笔试题整理

    以下是程序员去百度的笔试题目整理 欢迎大家讨论,文末有福利. A 卷 Java中 ++ 操作符是线程安全的吗? a=a+b 与 a+=b的区别? 写出Java的单例模式 为什么在重写equals方法的 ...

  3. java项目学习_一个Java项目的学习

    1. java命令行的启动 首先是gradle build 其次是:java -Dabc.appid=1234 -classpath "a.jar:b.jar"  com.ctri ...

  4. java semaphore 等待时间_一个java同步工具类Semaphore的详解

    Semaphore是java并发包里面的一个工具类,我们限制可以访问某些资源的线程数目就可以使用Semaphore了.这篇文章将对Semaphore的概念和使用进行一个详解. 一.概念理解 官方是这样 ...

  5. java多状态机_一个java状态机样例的代码

    在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 ...

  6. java飞机场模拟程序_一个java程序模拟race condition的程序,用飞机进港来模拟,自己写了一部分...

    题目是这样的:按照狄更斯算法,算法都在我写的程序里面了,要求两架飞船进港,同时只能是一架飞机进港,他们之间用global参数来进行racecondition.现在我把大体的程序写了一下,我不... 题 ...

  7. java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...

    满意答案 azonyb 2014.02.18 采纳率:59%    等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...

  8. 怎么将几张pdf合并成一张_如何将多个pdf文件合并成一个pdf文件?

    原标题:如何将多个pdf文件合并成一个pdf文件? 我很喜欢使用PDF文件格式,为什么呢?因为PDF具有许多其他电子文档格式无法相比的优点.PDF文件格式可以将文字.字型.格式.颜色及独立于设备和分辨 ...

  9. 如何在另一个JavaScript文件中包含一个JavaScript文件?

    JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...

最新文章

  1. Python将MySQL表数据写入excel
  2. 云计算安全解决方案白皮书(二)
  3. 集群四 mysql-5.7.16一键安装
  4. C#——银行ATM程序DEMO
  5. ios学习--TableView详细解释
  6. es6 --- forEach的实现
  7. 坦克大战系列6-API常用函数说明2
  8. Daily Report 2012.11.06 刘宇翔
  9. 代码注释的艺术,优秀代码真的不需要注释吗?
  10. 【激发兴趣】台球小游戏基础版
  11. 服务器租用idc机房功能和配置介绍
  12. 如何快速上手强化学习?
  13. 禁止迅雷极速版强制升级方法
  14. 优秀课程案例:使用Scratch制作扫雷插旗排雷完整版
  15. 破解Navicat Premium数据库账号密码
  16. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学科竞赛管理系统eolh8
  17. C语言--斐波那契数列(三种方法)
  18. GDT(全居描述符表)和LDT(局部描述符表)
  19. 不等式解集怎么取_不等式的解集怎么求
  20. c语言进行数据统计分析的研究报告,统计分析报告范文

热门文章

  1. 查询京东快递物流状态,快速筛选出代收的单号
  2. 语言认知模型--的学习笔记
  3. linux初学习题五显示系统时间现实格式为:小时/分钟/秒AM/PM!
  4. Excel 调用百度翻译API进行翻译
  5. 图像处理的Dither和Banding
  6. 计算机网络.期末复习
  7. 华为应用市场AGC研习社游戏课程上新,助力游戏开发者高效分发获量
  8. win7搜索文件怎么搜索文件名中带圆括号的文件?
  9. 微信小程序简单介绍及例子,小白可看
  10. 实现ensp的单臂路由