我有一个mysql转储文件,它是Gzip,然后在OpenSSL中加密。
openssl enc -aes-256-cbc -e -in input.gz -out output.gz.enc -pass pass:"some_pass_phrase"
当我尝试使用NodeJS解密它时,我得到一个无法解压缩的损坏文件。
function decryptBackupFile() {
var enc_key = GetEnvironmentVariable("ENC_KEY");
var input = fs.createReadStream('/Users/afiku/Documents/input.sql.gz.enc');
var output = fs.createWriteStream('/Users/afiku/Documents/output.sql.gz');
var decrypt = crypto.createDecipher('aes-256-cbc', enc_key);
decrypt.setAutoPadding(false);
input.pipe(decrypt).pipe(output);
output.on('finish', function(){
console.log('Finished unarchiving');
});
}
我没有收到任何错误或异常,结果文件比加密文件小一点。
密码是正确的。我尝试在bash中使用openssl解密它并且它有效...
我做错了什么?