私が取り組んでいるプロジェクトには、AES 暗号化と復号化を必要とするセグメントがあります。私が調べたすべての可能なインターネット ソースから、Sun の (現在の Oracle の Web サイト) から Unlimited Strength JCE ファイルをダウンロードしてインストールすることなく、AES256 暗号化への参照を見つけるのは困難でした。同じものの配布に存在する法的問題に加えて、エンドユーザーに特定のWebサイトにアクセスしていくつかのファイルをダウンロードし、それらをディレクトリに配置してからクラスパスに追加するように依頼する場合、実際にはあまり役に立ちません。 Windowsなどで!
BountyCastle の軽量 API への参照がインターネット上にいくつかありましたが、JCE ファイルを必要としない可能性がありますが、関連性の高い参照やそれを示す例を探すことができませんでした。
確かではありませんが、これは他のすべてのプログラミング言語の問題ですか?
特定の JCE ファイルがインストールされていないと AES 256 ビット暗号化を使用できない場合、JNI アプローチは役立ちますか?
少し詳しく説明すると、C/C++ で AES 256 暗号化を行うことができますか?その後、JNI を使用してそれらを呼び出して、目的の結果を得ることができますか? ソフトウェアを (jar ファイルとして) パッケージ化することは懸念の原因になりますか、それとも他の問題がある可能性がありますか?
もう 1 つの重要な要素は、プロジェクトが Mac と Windows の両方で実行されることです。そのため、C/C++ (特定のコンパイラ/インタープリターのバージョンなど) を使用する際の制限になる可能性があります。
これを処理する別の方法はありますか?他のアプローチはありますか?