导航:首页 > 文件管理 > java加密配置文件

java加密配置文件

发布时间:2024-10-06 13:22:19

㈠ 使用java做一个加密和隐藏文件的软件,具体需要怎么做求指导

不知道你打算怎么加密呢?隐藏又是什么意思?是将多个文件合成一个吗?
因为从操作系统层面来说理应能看到所有合法的文件,因此想要让操作系统都看不到基本上是不可能的(何况Java也是用的操作系统API来实现对文件的操作)。
就加密我说说我的想法吧,首先需要一个加密的算法。这个算法需要满足:算法可逆,双向计算复杂度(时间/空间)低,安全程度高,可靠性高。另外可以考虑并行化来增加性能,因为现在的文件系统大多比较大,管理的东西都不小。
如果能找到这样一个算法,可以对于文件使用二进制的读写(Binary I/O),然后每读到一定大小的数据就进行加密运算,并写入目标加密文件中。如果是解密则是读取数据进行解密运算。
题外话:我觉得实际上做这样一个软件也没有必要,每次存取文件都需要进行大量的计算操作,也很容易破坏cache的局部性原理。如果真的需要对一部分文件进行加密,也有很多现成的工具可用,甚至于是说现在的压缩文件都可以带上密码加密。所以我认为这个软件的前景不大,当然如果只是用来玩一玩也是可以的,只不过算法比较难找而已。(如果用RSA这种级别的算法估计也行的吧……)

㈡ 如何用java实现文件(不只是txt文本)的整体加密解密

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.security.KeyPair;
importjava.security.KeyPairGenerator;
importjava.security.NoSuchAlgorithmException;
importjava.security.interfaces.RSAPrivateKey;
importjava.security.interfaces.RSAPublicKey;
importjavax.crypto.Cipher;

/**
*文件加密解密
*加解密需要依靠以下四个属性,
;
staticKeyPairkeyPair;
staticRSAPrivateKeyprivateKey;
staticRSAPublicKeypublicKey;
*@
*
*/
publicclassRSAEncrypt{

;

staticKeyPairkeyPair;

staticRSAPrivateKeyprivateKey;

staticRSAPublicKeypublicKey;

static{
try{
//实例类型
keyPairGen=KeyPairGenerator.getInstance("RSA");
//初始化长度
keyPairGen.initialize(512);
//声场KeyPair
keyPair=keyPairGen.generateKeyPair();
//Generatekeys
privateKey=(RSAPrivateKey)keyPair.getPrivate();
publicKey=(RSAPublicKey)keyPair.getPublic();
}catch(NoSuchAlgorithmExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args){
RSAEncryptencrypt=newRSAEncrypt();
Filefile=newFile(
"C:\DocumentsandSettings\Administrator.DCB5E0D91E0D436\桌面\sdf.txt");
FilenewFile=newFile(
"C:\DocumentsandSettings\Administrator.DCB5E0D91E0D436\桌面\sdf1.txt");
encrypt.encryptFile(encrypt,file,newFile);
Filefile1=newFile(
"C:\DocumentsandSettings\Administrator.DCB5E0D91E0D436\桌面\sdf1.txt");
FilenewFile1=newFile(
"C:\DocumentsandSettings\Administrator.DCB5E0D91E0D436\桌面\sdf2.txt");
encrypt.decryptFile(encrypt,file1,newFile1);
}

/**
*加密文件
*@paramencryptRSAEncrypt对象
*@paramfile源文件
*@paramnewFile目标文件
*/
publicvoidencryptFile(RSAEncryptencrypt,Filefile,FilenewFile){
try{
InputStreamis=newFileInputStream(file);
OutputStreamos=newFileOutputStream(newFile);

byte[]bytes=newbyte[53];
while(is.read(bytes)>0){
byte[]e=encrypt.encrypt(RSAEncrypt.publicKey,bytes);
bytes=newbyte[53];
os.write(e,0,e.length);
}
os.close();
is.close();
System.out.println("writesuccess");
}catch(Exceptione){
e.printStackTrace();
}
}

/**
*解密文件
*@paramencryptRSAEncrypt对象
*@paramfile
*@paramnewFile
*/
publicvoiddecryptFile(RSAEncryptencrypt,Filefile,FilenewFile){
try{
InputStreamis=newFileInputStream(file);
OutputStreamos=newFileOutputStream(newFile);
byte[]bytes1=newbyte[64];
while(is.read(bytes1)>0){
byte[]de=encrypt.decrypt(RSAEncrypt.privateKey,bytes1);
bytes1=newbyte[64];
os.write(de,0,de.length);
}
os.close();
is.close();
System.out.println("writesuccess");

}catch(Exceptione){
e.printStackTrace();
}
}

/**
*加密实现
**EncryptString.*
*
*@returnbyte[]加密后的字节数组
*/
protectedbyte[]encrypt(RSAPublicKeypublicKey,byte[]obj){
if(publicKey!=null){
try{
Ciphercipher=Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE,publicKey);
returncipher.doFinal(obj);
}catch(Exceptione){
e.printStackTrace();
}
}
returnnull;
}

/**
*解密实现
**Basicdecryptmethod*
*
*@returnbyte[]解密后的字节数组
*/
protectedbyte[]decrypt(RSAPrivateKeyprivateKey,byte[]obj){
if(privateKey!=null){
try{
Ciphercipher=Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE,privateKey);
returncipher.doFinal(obj);
}catch(Exceptione){
e.printStackTrace();
}
}
returnnull;
}
}

㈢ 对Java程序中的一个.xml 配置文件进行加密 如何实现 程序正常运行

可以写一个xslt文件,对xml进行模板处理,也就是把你xml写成冗余的东西,使用xslt进行精炼得到你想要的xml

阅读全文

与java加密配置文件相关的资料

热点内容
c面向对象程序设计甘玲习题答案 浏览:289
建模编程一般用什么语言 浏览:683
网站导航怎么用代码实现 浏览:413
系统程序残留lib清除 浏览:462
编程时G53放在程序哪个地方 浏览:7
linuxtail含义 浏览:351
编程写作画画开哪个个人工作室好 浏览:36
c语言程序设计课后习题及答案 浏览:656
怎么查看电脑win10版本 浏览:538
win7系统文件如何加密 浏览:604
java加密配置文件 浏览:925
jsclick穿透事件 浏览:769
用户配置文件恢复 浏览:511
穆迪评级网站注册账户需要什么 浏览:975
网页发光字生成工具 浏览:847
桌面操控app有哪些 浏览:430
什么是dat格式的文件 浏览:977
文件夹设置密码访问 浏览:258
腾讯视频文件转换 浏览:967
网络技术基础一般学什么 浏览:829

友情链接