Java
main()
スルーを呼び出し、popen()
コマンドライン引数としていくつかのデータを送信する必要がある C プログラムを開発しています。Java
ただし、本質的にやや機密性の高いデータを送信する必要があるデータがいくつかありC
ます (ただし、パスワードの種類ではありません)。
この余分なデータを C から Java に送信するための暗号化以外のオプションがあるかどうかを確認しようとしています。データは暗号化するほど機密性が高くないため、オーバーヘッドを回避しようとしていますが、この点に関する提案は受け付けています。
この余分なデータは、popen() を通じて表示されるため、送信できませんps -f
。
tcpdump
同様に、ソケットの使用は、その情報も明らかにする可能性があるため、実行可能ではないようです。
共有の使用を検討しましmem (/dev/shm)
たが、それも表示または隠しファイルを使用できます。これには、呼び出しごとにファイルを作成するオーバーヘッドも伴うため、私は完全に賛成しているわけではありません。
ファイルマッピングを見ましたANON
が、Java側では使用できないと思います。同様に、fmemopen()
Java では参照を使用できないようです。FIFO
パイプはより良い選択肢でしょうか?それとも簡単に読めますか?
プレーンに頼ってmmap()
データを書き込むだけで(ディスク上に作成しない-オープンコールでO_CREATなし)、実行しないと、msynch
完全にメモリに残りますか?それからJavaで読むことはできますか?
暗号化は私の唯一のオプションですか、それとも基本的なものが欠けていますか?
このリンクでは、C から Java にプレーン データを送信する方法について説明しています。