• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Java
  • 标签: java  加密  加密文件  

资源简介

输入自定义的KEY和路径,加密! 在MAIN方法里有例子

资源截图

代码片段和文件信息

package com.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 * 加密解密类
 * 
 * @author
 * @version 1.00
 */

public class Test {

// static boolean debug =false ;

// 加密KEY不能随便改动
static final byte[] KEYVALUE = “11111111111111111111“
.getBytes();

static final int BUFFERLEN = 512;

public Test() {
}

/**
 * 对文件进行加密
 * 
 * @param String
 *            oldFile 原始要加密的文件
 * @param String
 *            newFile 加密后的文件
 * @return
 */
public static void encryptFile(String oldFile String newFile)
throws Exception {
FileInputStream in = new FileInputStream(oldFile);
File file = new File(newFile);
if (!file.exists())
file.createNewFile();
FileOutputStream out = new FileOutputStream(file);
int c pos keylen;
pos = 0;
keylen = KEYVALUE.length;
byte buffer[] = new byte[BUFFERLEN];
while ((c = in.read(buffer)) != -1) {
for (int i = 0; i < c; i++) {
buffer[i] ^= KEYVALUE[pos];
out.write(buffer[i]);
pos++;
if (pos == keylen)
pos = 0;
}
}
in.close();
out.close();
}

/**
 * 对文件进行解密
 * 
 * @param String
 *            oldFile 原始要解密的文件
 * @param String
 *            newFile 解密后的文件
 * @return
 */
public static void decryptFile(String oldFile String newFile)
throws Exception {
FileInputStream in = new FileInputStream(oldFile);
File file = new File(newFile);
if (!file.exists())
file.createNewFile();
FileOutputStream out = new FileOutputStream(file);
int c pos keylen;
pos = 0;
keylen = KEYVALUE.length;
byte buffer[] = new byte[BUFFERLEN];
while ((c = in.read(buffer)) != -1) {
for (int i = 0; i < c; i++) {
buffer[i] ^= KEYVALUE[pos];
out.write(buffer[i]);
pos++;
if (pos == keylen)
pos = 0;
}
}
in.close();
out.close();
}

/**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// debug =false ;

String oldFile = new String(“c:/test.doc“);
String newFile = new String(“c:/file2.doc“);
String file3 = new String(“c:/file3.doc“);
encryptFile(oldFile newFile);

decryptFile(newFile file3);

System.out.println(“ok“);
} catch (Exception e) {
e.printStackTrace();
}

}

}

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

     文件      31232  2010-08-09 21:55  file2.doc

     文件       2425  2010-08-09 22:40  Test.java

----------- ---------  ---------- -----  ----

                33657                    2


评论

共有 条评论