java 文件加密_一个JAVA文件加密代码
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文件加密代码相关推荐
- 一个java源文件允许_一个Java源文件中最多只能有一个class定义
一个Java源文件中最多只能有一个class定义 答:× 确诊甲状腺功能紊乱的常规指标是 答:FT3和FT4 I will not let my children in that way. 答:be ...
- java笔试题_一个Java程序员在百度的笔试题整理
以下是程序员去百度的笔试题目整理 欢迎大家讨论,文末有福利. A 卷 Java中 ++ 操作符是线程安全的吗? a=a+b 与 a+=b的区别? 写出Java的单例模式 为什么在重写equals方法的 ...
- java项目学习_一个Java项目的学习
1. java命令行的启动 首先是gradle build 其次是:java -Dabc.appid=1234 -classpath "a.jar:b.jar" com.ctri ...
- java semaphore 等待时间_一个java同步工具类Semaphore的详解
Semaphore是java并发包里面的一个工具类,我们限制可以访问某些资源的线程数目就可以使用Semaphore了.这篇文章将对Semaphore的概念和使用进行一个详解. 一.概念理解 官方是这样 ...
- java多状态机_一个java状态机样例的代码
在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 ...
- java飞机场模拟程序_一个java程序模拟race condition的程序,用飞机进港来模拟,自己写了一部分...
题目是这样的:按照狄更斯算法,算法都在我写的程序里面了,要求两架飞船进港,同时只能是一架飞机进港,他们之间用global参数来进行racecondition.现在我把大体的程序写了一下,我不... 题 ...
- java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...
满意答案 azonyb 2014.02.18 采纳率:59% 等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...
- 怎么将几张pdf合并成一张_如何将多个pdf文件合并成一个pdf文件?
原标题:如何将多个pdf文件合并成一个pdf文件? 我很喜欢使用PDF文件格式,为什么呢?因为PDF具有许多其他电子文档格式无法相比的优点.PDF文件格式可以将文字.字型.格式.颜色及独立于设备和分辨 ...
- 如何在另一个JavaScript文件中包含一个JavaScript文件?
JavaScript中是否有类似于CSS中@import的内容,可让您在另一个JavaScript文件中包含一个JavaScript文件? #1楼 而不是在运行时添加,而是使用脚本在上传之前进行串联. ...
最新文章
- Python将MySQL表数据写入excel
- 云计算安全解决方案白皮书(二)
- 集群四 mysql-5.7.16一键安装
- C#——银行ATM程序DEMO
- ios学习--TableView详细解释
- es6 --- forEach的实现
- 坦克大战系列6-API常用函数说明2
- Daily Report 2012.11.06 刘宇翔
- 代码注释的艺术,优秀代码真的不需要注释吗?
- 【激发兴趣】台球小游戏基础版
- 服务器租用idc机房功能和配置介绍
- 如何快速上手强化学习?
- 禁止迅雷极速版强制升级方法
- 优秀课程案例:使用Scratch制作扫雷插旗排雷完整版
- 破解Navicat Premium数据库账号密码
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学科竞赛管理系统eolh8
- C语言--斐波那契数列(三种方法)
- GDT(全居描述符表)和LDT(局部描述符表)
- 不等式解集怎么取_不等式的解集怎么求
- c语言进行数据统计分析的研究报告,统计分析报告范文