node端加密文件
const crypto = require('crypto');
const fs = require('fs');
const cipher = crypto.createCipher('aes128', '66666666');
const input = fs.createReadStream('file.js');
const output = fs.createWriteStream('./fileAES/test.enc');
input.pipe(cipher).pipe(output);
java端解密
public File decryptFile(File sourceFile,String fileType,String sKey){
File decryptFile = null;
InputStream inputStream = null;
OutputStream outputStream = null;
try {
decryptFile = File.createTempFile(sourceFile.getName(),fileType);
Cipher cipher = initAESCipher(sKey,Cipher.DECRYPT_MODE);
inputStream = new FileInputStream(sourceFile);
outputStream = new FileOutputStream(decryptFile);
CipherOutputStream cipherOutputStream = new CipherOutputStream(outputStream, cipher);
byte [] buffer = new byte [1024];
int r;
while ((r = inputStream.read(buffer)) >= 0) {
cipherOutputStream.write(buffer, 0, r);
}
cipherOutputStream.close();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
return decryptFile;
}
自己都能加解密 但是加密后的文件互换后无法解密