解密s3文件卸载使用unload命令与对称密钥encryption

我尝试使用AES对称密钥encryption解密由s3上传的文件,通过从redshift卸载命令上传。 如果我们使用AWS Java sdk下载aes key给s3客户端,那么它就可以正常工作。但是如果我们在下载文件后尝试手动解密它,它会给出javax.crypto.BadPaddingException: Given final block not properly padded错误。

手动解密文件的原因是我想解密使用node.js文件,据我所知,没有节点中的sdk,可以直接做到这一点。

我试过的Node.js代码:

 var AWS = require('aws-sdk'); var fs = require('fs'); var crypto = require('crypto'); var CryptoJS = require("crypto-js"); var algorithm = 'aes256'; var inputEncoding = 'hex'; var outputEncoding = 'utf-8'; var key = "symmetric key base 64"; //prod var data = fs.readFileSync('/tmp/files/myfile'); console.log(data); var decipher = crypto.createDecipher(algorithm,key); var deciphered = decipher.update(data, inputEncoding, outputEncoding); console.log(deciphered); deciphered += decipher.final(outputEncoding); console.log(deciphered); 

当我尝试这个我得到这个错误: Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt