import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 加密解密类
*
* @author shaohl
* @version 1.00
*/
public class EncryptGen {
// static boolean debug =false ;
// 加密KEY不能随便改动
static final byte[] KEYVALUE = "6^)(9-p35@%3#4S!4S0)$Y%%^&5(j.&^&o(*0)$Y%!#O@*GpG@=+@j.&6^)(0-=+"
.getBytes();
static final int BUFFERLEN = 1024;
//构造
public EncryptGen() {
}
/**
* 对文件进行加密
*
* @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:/aaa/aa.txt");
String newFile = new String("C:/aaa/aa_en.txt");
//加密
encryptFile(oldFile, newFile);
System.out.println("完成加密");
String oldFile1 = "C:/aaa/aa_en.txt";
String newFile1 = "C:/bbb/aa.txt";
decryptFile(oldFile1,newFile1);
System.out.println("完成解密");
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
加密和解密文件,有GUI界面,很好用,代码完整,加密解密效率高。
本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现,产生加密文件,再对加密文件进行解密。 关键词:DES加密算法、加密、解密。摘要 随着现代网络技术的飞速发展,人们...
利用java实现将资源文件(包括图片、动画等类型)进行简单的加密、解密
1.40以上 说明:文件加密 加密方法:三重DES加密 加密过程:对选中的文件加密后在同文件夹下生成一个增加了".tdes"扩展名的加密文件 (完美加密,更改后缀名也不可以打开)解密过程:对选中的加密文件(必须有".tdes...
全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...
Java加密与解密的艺术.rar 完整源代码 欢迎下载研究.
加密与解密(1)给定任意一个文本文件,进行加密,生成另一个文件。(2)对加密后的文件还原。
全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非...
Java 文件加密解密器 可对所有文件进行加密和解密,第一次运行加密,第二次运行解密。
des加密算法(js+java)加密与解密结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与... des.java 用于后台的加密解密操作; 项目中正好用到,已经过验证,两个加密解密结果相同,分享给大家!
文件移位加密与解密 C语言实现 完整代码 截图显示
, 全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...
java加密解密工具包
《Java加密与解密的艺术(第2版)》共12章,分为3个部分:基础篇(第1~4章)对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇(第5...
用Java实现的一文件加密解密功能,可自己设定密钥对指定文件加密,解密
java 基于AES实现对文件的加密 解密 有问题 www.willvc.com.cn 能联系到我
全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...
楼上兄弟太黑,特意找的源码,2分处理,完美解决Java加密解密zip文件
java课程设计文件加密解密 自定义加密程序
java encrpty and decrpty files 加密与解密文件