ここで何が間違っているのかを理解するのに苦労しています。
TCP ソケットに出入りするデータを暗号化するために何かを書き込もうとしていますが、暗号暗号ストリームから出力を取得するのに苦労しています。
例: (できるだけシンプルにするために簡略化しています)
crypto = require('crypto'); data.copy(cipherKey,0,5,133); //暗号パスワード用の 128 バイトのデータで満たされたバッファ。(これを単純にするためにデータのソースを取り除いています) //test value (in hex bytes) of cipherKey = abcecfa8c752b72d784db7ddbc30db7da2b22ba7eab9000f2615e26d55a6b27f1ad97239151e1b6398afa055e347571aa018332bef041d032b73e5c23e48407d1e288f8c8edcadd6a70f6f1031cf4778b037b8beaed4863d5ac2e6f4cf454a87ece5051a49d11a2b9a89bf955cbf54a22f05405c43f20f4d4bf26bd2e928189d var credentials = { アルゴリズム: "aes128", パスワード: cipherKey.toString() }; var decipher = crypto.createDecipher(credentials.algorithm, credentials.password); var cipher = crypto.createCipher(credentials.algorithm, credentials.password); cipher.pipe(プロセス.stdout); cipher.write("こんにちは!");
cipher.write("Hello!"); を繰り返すことで、(ごくわずかですが)出力を得ることができました。約10回の行で、出力を「トリガー」する前に最小限のデータを入力する必要があるかどうか疑問に思います。
これが問題である場合は、これを通過する必要があるほとんどのパケットが 4 ~ 32 バイトになるため、回避策を見つける必要があります。(ただし、一部は大きくなる可能性もありますが、ほとんどはそうではありません)
助言がありますか?
(私はノードを初めて使用するので、愚かなことを事前にお詫びします!)