そのため、ノード暗号化ライブラリを使用して、制御できない他のソフトウェアによって暗号化されたバイナリファイルを解読しています。次のコードを使用して、正常に復号化できます。
decipher = crypto.createDecipheriv('aes-128-ecb', password, iv);
decrypted = decipher.update(body, 'binary', 'utf8');
これは素晴らしいことですが、復号化されたテキストの末尾から約11文字が切り捨てられているようです。平文が11200文字を超えているので、これは奇妙です。今、私はこの行を持っていないので理由が疑われます:
decrypted += decipher.final('utf8');
ただし、その行を追加すると、エラーが発生しますTypeError: DecipherFinal fail
IVを使用せずに、さまざまな出力エンコーディングを試しましたが、うまくいきませんでした。私もこの質問を読みました:nodejs暗号解読の何が問題になっていますか?これは同じ問題のように見えますが、opensslコマンドラインで実行することになっている手順、またはそれがノードプログラムにどのように影響するかを理解していません。