在nodeJS中解密时损坏openssl加密文件

时间:2017-05-01 01:15:22

标签: node.js openssl cryptography

我有一个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解密它并且它有效...

我做错了什么?

0 个答案:

没有答案