Расшифровка AES 128 ECB с помощью node.js возвращает неверную конечную длину блока - PullRequest
0 голосов
/ 13 марта 2019

Я расшифровываю большой файл (450 МБ).

Я читаю файл с помощью fs.createReadStream и расшифровываю с помощью cryptojs.

Файл был зашифрован в UTF8.

Содержимое файла - JSON.

МОЯ ФУНКЦИЯ:

function getData(pathMyfile) {

    var readStream = fs.createReadStream(pathMyfile, {encoding: 'utf8'});

    var aes = crypto.createDecipher('aes-128-ecb', 'xxx');

    readStream.pipe(aes).pipe(process.stdout);

}

ОШИБКА:

events.js:183 Uncaught Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
    at Decipher._flush (crypto.js:158)
    at Decipher.prefinish (_stream_transform.js:137)
    at emitNone (events.js:106)
    at Decipher.emit (events.js:208)
    at prefinish (_stream_writable.js:593)
    at finishMaybe (_stream_writable.js:601)
    at endWritable (_stream_writable.js:612)
    at Decipher.Writable.end (_stream_writable.js:563)
    at ReadStream.onend (_stream_readable.js:595)
    at Object.onceWrapper (events.js:313)
    at emitNone (events.js:111)
    at ReadStream.emit (events.js:208)
    at endReadableNT (_stream_readable.js:1056)
    at _combinedTickCallback (internal/process/next_tick.js:138)
    at process._tickCallback (internal/process/next_tick.js:180)
...