/**
* 把文件srcFile加密后存储为destFile
*
* @param srcFile
* @param destFile
*/
private voidencrypt(String srcFile, String destFile, Key privateKey)
throws Exception {
SecureRandom sr =new SecureRandom();
Cipher cipher =Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec spec= new IvParameterSpec(privateKey.getEncoded());
cipher.init(Cipher.ENCRYPT_MODE, privateKey, spec, sr);
FileInputStream fis= new FileInputStream(srcFile);
FileOutputStream fos= new FileOutputStream(destFile);
byte[] b = newbyte[2048];
while (fis.read(b)!= -1) {
fos.write(cipher.doFinal(b));
}
fos.close();
fis.close();
}
/**
* 把文件srcFile解密后存储为destFile
*
* @param srcFile
* @param destFile
* @param privateKey
* @throws Exception
*/
private voiddecrypt(String srcFile, String destFile, Key privateKey)
throws Exception {
SecureRandom sr =new SecureRandom();
Cipher ciphers =Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec spec= new IvParameterSpec(privateKey.getEncoded());
ciphers.init(Cipher.DECRYPT_MODE, privateKey, spec, sr);
FileInputStream fis= new FileInputStream(srcFile);
FileOutputStream fos= new FileOutputStream(destFile);
byte[] b = newbyte[2064];
while (fis.read(b)!= -1) {
fos.write(ciphers.doFinal(b));
}
fos.close();
fis.close();
}
private Key getKey(String keyPath) throws Exception {
String key = "1234567887654321";
byte[] b = key.getBytes();
SecretKeySpec dks = new SecretKeySpec(b,"AES");
return dks;
}