des加密算法的实现:java实现DES加密算法



、java实现DES加密算法
为了实现对密钥对整个项目所有加密解密文件都适用思路方法,采用先生成对密钥.保存到xml文件中,以后获得私匙和公钥只需要从xml文件中取得就可以了.
/**
*把成生对密钥保存到DesKey.xml文件中
*/
publicvoidsaveDesKey{
try{
SecureRandomsr=SecureRandom;
//为我们选择DES算法生成个KeyGenerator对象
KeyGeneratorkg=KeyGenerator.getInstance(\"DES\");
kg.init(sr);
FileOutputStreamfos=FileOutputStream(\"C:/DesKey.xml\");
ObjectOutputStreamoos=ObjectOutputStream(fos);
//生成密钥
Keykey=kg.generateKey;
oos.writeObject(key);
oos.close;
}catch(Exceptione){
e.prStackTrace;
}
}




获取密钥思路方法如下:

/**
*获得DES加密密钥在交易处理过程中应该定时更
*换密钥需要JCE支持如果jdk版本低于1.4则需要
*安装jce-1_2_2才能正常使用
*@Key返回对称密钥
*/
publicKeygetKey{
Keykp=null;
try{
StringfileName=\"conf/DesKey.xml\";
InputStreamis=DesUtil..getClassLoader
.getResourceAsStream(fileName);
ObjectInputStreamoos=ObjectInputStream(is);
kp=(Key)oos.readObject; [Page]
oos.close;
}catch(Exceptione){
e.prStackTrace;
}
kp;
}


文件采用DES算法加密文件

/**
*文件file进行加密并保存目标文件destFile中

*@paramfile
*要加密文件如c:/test/srcFile.txt
*@paramdestFile
*加密后存放文件名如c:/加密后文件.txt
*/

publicvoidencrypt(Stringfile,StringdestFile)throwsException{

Ciphercipher=Cipher.getInstance(\"DES\");

cipher.init(Cipher.ENCRYPT_MODE,getKey);

InputStreamis=FileInputStream(file);

OutputStreamout=FileOutputStream(dest);

CipherInputStreamcis=CipherInputStream(is,cipher);

buffer=[1024];

r;

while((r=cis.read(buffer))>0){

out.write(buffer,0,r);

}

cis.close;

is.close;

out.close;

}


文件采用DES算法解密文件


/**
*文件file进行加密并保存目标文件destFile中

*@paramfile


*已加密文件如c:/加密后文件.txt
*@paramdestFile
*解密后存放文件名如c:/test/解密后文件.txt
*/

publicvoiddecrypt(Stringfile,Stringdest)throwsException{ [Page]
Ciphercipher=Cipher.getInstance(\"DES\");
cipher.init(Cipher.DECRYPT_MODE,getKey);
InputStreamis=FileInputStream(file);
OutputStreamout=FileOutputStream(dest);
CipherOutputStreamcos=CipherOutputStream(out,cipher);
buffer=[1024];
r;
while((r=is.read(buffer))>=0){
cos.write(buffer,0,r);
}
cos.close;
out.close;
is.close;
}
Tags:  javades算法 des加密算法 java实现des算法 des加密算法的实现

延伸阅读

最新评论

发表评论