资源简介

本系统是基于java的文件加密传输系统,采用类PGP的思想,对传输的文件进行加密,签名,计算摘要等。

资源截图

代码片段和文件信息

package org.transfer.secret;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.RandomAccessFile;

import org.transfer.util.Log;

public class DecryptRecevieFile {

private File recevieFile;

private RandomAccessFile randomAccessFile = null;

private BufferedOutputStream bos = null;

private String publicKeyPath;

private String savePath;

private byte[] readByte = new byte[1024*10];

public DecryptRecevieFile(File recevieFileString publicKeyPathString savePath){
this.recevieFile = recevieFile;
this.publicKeyPath = publicKeyPath;
this.savePath = savePath;
}

public boolean getEnFileByDes(){
try{
File temp = new File(“recevie/“+System.currentTimeMillis()+“_“+recevieFile.getName());
bos = new BufferedOutputStream(new FileOutputStream(temp));
randomAccessFile = new RandomAccessFile(recevieFile“rws“);
long sessionKeyLength = randomAccessFile.readLong();
byte[] recevie = new byte[(int)sessionKeyLength];
randomAccessFile.read(recevie 0 recevie.length);
String sessionKeyEn = new String(recevie);
String sessionKey =  RSA.decrypt(sessionKeyEn new File(“myselfKey/private_key.dat“));
Log.print(“get Session key sessionkey = “+sessionKey);
int readLength = 0;
            while((readLength = randomAccessFile.read(readByte))>0){
             bos.write(readByte0readLength);
                bos.flush();
            }
            bos.close();
            randomAccessFile.close();
            recevieFile.delete();
            Log.print(“get Temp filefile length = “+temp.length());
            
            String newFileName = DES.desFile(temp sessionKey);
            Log.print(“decrypt the file successfully“);
            temp.delete();
            File M = new File(newFileName);
            File reallyFile = new File(savePath+recevieFile.getName()); 
            bos = new BufferedOutputStream(new FileOutputStream(reallyFile));
randomAccessFile = new RandomAccessFile(M“rws“);
long md5StringLength = randomAccessFile.readLong();
Log.print(“md5 length = “+md5StringLength);
byte [] md5Byte = new byte[(int)md5StringLength];
randomAccessFile.read(md5Byte 0 md5Byte.length);

byte[] oldMD5Value = RSA.decryptByPublicKey(md5Byte new File(publicKeyPath));

String md5Str = new String(oldMD5Value);
Log.print(“new md5 =“+new String(md5Str));
int length = 0;
while((length = randomAccessFile.read(readByte))>0){
bos.write(readByte 0 length);
bos.flush();
}
            bos.close();
            randomAccessFile.close();
            M.delete();
            String newMD5Value = MD5.computeFile(reallyFile);
            if(md5Str.equals(newMD5Value)){
             return true;
            }
            return false;
}catch(Exception e){
Log.print(e.getMessage());
return false;
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        291  2009-11-27 21:05  SecTransfer\.classpath

     文件         66  2009-11-27 21:03  SecTransfer\.myumldata

     文件        387  2009-11-27 20:47  SecTransfer\.project

     文件        629  2009-11-27 21:02  SecTransfer\.settings\org.eclipse.jdt.core.prefs

     文件         99  2009-11-27 21:02  SecTransfer\.settings\org.eclipse.jdt.ui.prefs

     文件     127076  2009-11-29 14:22  SecTransfer\audio\Begin.wav

     文件      43402  2009-11-29 14:22  SecTransfer\audio\dead.wav

     文件      54958  2009-11-29 14:22  SecTransfer\audio\gamewin.wav

     文件       3362  2009-11-29 14:22  SecTransfer\audio\go.wav

     文件         39  2009-11-29 18:25  SecTransfer\conf.txt

     文件      11022  2009-11-20 15:18  SecTransfer\icon\icon.png

    ..A.SH.      9728  2009-11-28 21:05  SecTransfer\icon\Thumbs.db

     文件      11001  2009-12-06 22:53  SecTransfer\log\200912062253.rar

     文件       5364  2010-01-22 15:27  SecTransfer\log\log.txt

     文件        892  2009-12-05 23:07  SecTransfer\myselfKey\private_key.dat

     文件        419  2009-12-05 23:07  SecTransfer\myselfKey\public_key.dat

     文件       3547  2009-12-07 11:31  SecTransfer\org\transfer\secret\DecryptRecevieFile.class

     文件       2959  2009-12-05 23:19  SecTransfer\org\transfer\secret\DecryptRecevieFile.java

     文件       3752  2009-12-07 11:31  SecTransfer\org\transfer\secret\DES.class

     文件       2762  2009-12-05 17:51  SecTransfer\org\transfer\secret\DES.java

     文件       4283  2009-12-07 11:31  SecTransfer\org\transfer\secret\EncryptSendFile.class

     文件       3422  2009-12-05 23:15  SecTransfer\org\transfer\secret\EncryptSendFile.java

     文件       2379  2009-12-07 11:31  SecTransfer\org\transfer\secret\MD5.class

     文件       1437  2009-12-05 17:52  SecTransfer\org\transfer\secret\MD5.java

     文件       6037  2009-12-07 11:31  SecTransfer\org\transfer\secret\RSA.class

     文件       6080  2009-12-04 22:42  SecTransfer\org\transfer\secret\RSA.java

     文件       5872  2009-12-07 11:31  SecTransfer\org\transfer\thread\RecevieThread.class

     文件       4946  2009-12-06 22:11  SecTransfer\org\transfer\thread\RecevieThread.java

     文件       5747  2009-12-07 11:31  SecTransfer\org\transfer\thread\SendThread.class

     文件       4980  2009-12-06 22:53  SecTransfer\org\transfer\thread\SendThread.java

............此处省略60个文件信息

评论

共有 条评论