我正在使用此模块File Encryptor来加密文件。当我试图解密时,它给了我这个错误。
Error - Decryption [Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length]
Error - Decryption [Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length]
加密代码
function (req, res, next)
{
var path_enc = path.resolve(__dirname + '/extractedfiles');
for (var i = 0; i < filedetails.length; i++)
{
var options = { algorithm: 'aes256' };
console.log(path_enc + '/' +filedetails[i].path);
encryptor.encryptFile(path_enc + '/'+filedetails[i].path, path_enc + '/' + filedetails[i].path, key, options, function(err) {
if (err)
{
console.error('Error - Encryption', err);
}
});
}
next();
},
解密代码
for (var i = 0; i < data.length; i++)
{var options = { algorithm: 'aes256' };
var path_inc = path.resolve(__dirname + '/extractedfiles');
encryptor.decryptFile(path_inc + '/'+data[i], path_inc + '/'+data[i], key, options, function(err) {
if (err)
{
console.error('Error - Decryption', err);
}
});
}
我发布了完整的功能,以便了解流程。这个过程发生在使用express制作的中间件中。
var key = 'xxxxxxxxyyyyyyyy';