byte[] buffer3=new byte[1024];
byte[] buffer4=new byte[1024-keyLength]; byte bMax=(byte)255;
long size = file.length() ;//- keyLength; // int avgLength = keyLength/3; int mod = (int) (size24);
int div = (int) (size>>10);//将size向右移10位 int count = mod==0?div:(div+1); int k = 1, r,j=0;
while ((k <= count && ( r = is.read(buffer)) > 0)) { if(mod != 0 && k==count) { r = mod; }
for(int i = 0;i < r;i++) {
byte b=buffer[i]; if(k==1){ if((i>=20 && i<(20+keyLength)) ){//||(i>=40 && i<(40+avgLength))||(i>=60 && i<(60+keyLength-2*avgLength)) // System.out.println(b==0?bMax:--b); }else{ buffer3[j]=b; j++; }
}else{ buffer2[i]=b==0?bMax:--b; }
// buffer2[i]=b==0?bMax:--b; }
if(k==1){ for(int i = 0;i k++; } out.close(); is.close(); file.delete(); dest.renameTo(new File(srcPathName)); System.out.println(\解密成功\ }else{ System.out.println(\密码不匹配\ } return srcPathName; } /** * 匹配密匙 * @param fileName文件路径 * @param key 密匙 */ public static boolean matchLock(String fileName,String key){ boolean isMatch = false; try{ //打开一个随机访问文件流,按读写方式 RandomAccessFile randomFile = new RandomAccessFile(fileName, \ //文件长度,字节数 //long fileLength = randomFile.length(); //将写文件指针移到文件20的位置 int keyLength = key.length(); int avgLength = keyLength/3; int start = 20; int center = 40; int last = 60; randomFile.seek(start);//指针指向start位置 byte[] bKeyStart=new byte[keyLength]; for(int i=0;i for(int i=0;i Zip4j: 开源项目,要导包 zip4j_1.3.1.jar包 项目实例位置:D:\\Cdd\\ZLWORKSPACE\\zip4jExample 可参考资料:http://blog.csdn.net/djun100/article/details/18007099 Zip4j特性: zip4j默认采用UTF-8编码,所以它支持中文,同时也支持密码,而且支持多种压缩算法。