简单的文件加密程序java 1(3)

2020-05-09 14:46

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()); ())

decrypt

if (file.exists

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

else

10

JOptionPane.showMessageDialog(null, \请选择文件!

\提示\

JOptionPane.OK_OPTION);

/**

* 加密函数 输入: 要加密的文件,密码(由 }

});

}

0-F组成,共48个字符,表示3个8位的密码)如:

*

AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746

其中: AD67EA2F3BE6E5AD

* DES密码一 D368DFE03120B5DF DES密码二

92A8FD8FEC2F0746 DES密码三 输出:

* 对输入的文件加密后,保存到同一文件夹下

增加了\扩展名的文件中。

*/

private void encrypt(File fileIn, String

sKey) { {

byte[] bytK1 = getKeyByStr(sKey.substring(0, 16)); byte[] bytK2 = getKeyByStr(sKey.substring(16, 32));

try {

if (sKey.length() == 48)

11

byte[] bytK3 = getKeyByStr(sKey.substring(32, 48));

FileInputStream fis = new FileInputStream(fileIn); byte[] bytIn = new byte[(int) fileIn.length()]; for (int i = 0; i < fileIn.length(); i++) {

bytIn[i] = (byte) fis.read(); }

// 加密

bytK1),

byte[] bytOut = encryptByDES(encryptByDES(encryptByDES(bytIn, bytK2), bytK3);

String fileOut = fileIn.getPath() + \

FileOutputStream fos = new FileOutputStream(fileOut);

for (int i = 0; i < bytOut.length; i++) {

fos.write((int) bytOut[i]);

}

fos.close();

JOptionPane.showMessageDialog(this, \加密成功!\提示\ JOptionPane.OK_OPTION);

} else

JOptionPane.showMessageDialog(this, \密码长度必须等于48!\错误信息\ JOptionPane.ERROR_MESSAGE);

/**

* 解密函数 输入: 要解密的文件,密码(由 }

} catch (Exception e) { }

e.printStackTrace();

12

0-F组成,共48个字符,表示3个8位的密码)如:

*

AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746

其中: AD67EA2F3BE6E5AD

* DES密码一 D368DFE03120B5DF DES密码二

92A8FD8FEC2F0746 DES密码三 输出:

* 对输入的文件解密后,保存到用户指定的文

件中。

*/

private void decrypt(File fileIn, String

sKey) { {

String strPath =

try {

if (sKey.length() == 48)

fileIn.getPath();

if

(strPath.substring(strPath.length() -

5).toLowerCase()

.equals(\

strPath

= strPath.substring(0, strPath.length() - 5);

else {

13

JOptionPane.showMessageDialog(this, \不是合法的加 密文件!\提示\

JOptionPane.OK_OPTION);

}

JFileChooser

return;

chooser = new JFileChooser();

chooser.setCurrentDirectory(new File(\chooser.setSelectedFile(new File(strPath));

// 用户指定要保存

的文件

int ret =

chooser.showSaveDialog(this);

if (ret ==

JFileChooser.APPROVE_OPTION) {

byte[] bytK1 = getKeyByStr(sKey.substring(0, 16)); byte[] bytK2 = getKeyByStr(sKey.substring(16, 32)); byte[] bytK3 = getKeyByStr(sKey.substring(32, 48)); FileInputStream fis = new FileInputStream(fileIn); byte[] bytIn = new byte[(int) fileIn.length()]; for (int i = 0; i < fileIn.length(); i++) { bytIn[i] = (byte) fis.read();

} // 解密

byte[]

bytOut = decryptByDES(decryptByDES(decryptByDES(

14


简单的文件加密程序java 1(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:内蒙古畜牧业生产方式转变的原因分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: