资源简介
本系统是基于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个文件信息
- 上一篇:超级好的纯jsp写的聊天室
- 下一篇:java 人事管理系统 课程设计
相关资源
- java 人事管理系统 课程设计
- java 二叉排序树与平衡二叉树的实现
- java数据库连接(所有的数据库都支持
- java 简易签到表
- CMM_词法分析和语法分析_java编写
- java实现的搜索引擎
- java读取DBF解决方案(可以解决javadb
- JavaHTTP协议实现
- Java版航空订票系统源码
- Java航空订票系统
- 八数码java和报告
- 数据库设备管理系统课程设计论文J
- java编写的扫描仪程序
- Java实现的聊天室,具有群聊和私聊功
- java GUI版汉诺塔源码
- jsp 学生信息管理系统设计与实现
- java实现的网络五子棋
- java编写21点游戏(附源代码)
- ATM自动取款机(JAVA课程)基本功能实
- 距离向量路由协议模拟程序(Java)
- java实现的QQ登录界面
- java词频统计
- 搜索引擎的研究与实现Java附源码
- java 原创 坦克大战 源码 带有详细注释
- 日历时钟java版实现
- java 记事本(功能较全面且界面美观)
- 内容丰富的java电子琴
- java做的世界杯程序
-
Java Jfr
ame简单聊天程序 - 飞机订票系统(java)
评论
共有 条评论