私はJNIとCの全く新しいものです。私はこの仕事のやり方に頭を悩ませています。CとJavaの間のポインタの参照
Iは、次のシグネチャを持つネイティブC関数を有する: ボイドDoEncrypt(CHAR *バッファのint *長さ) {代わりに緩衝液中 ...暗号化データを... ...}
私は途中で復号化を行うための逆の方法もあります。私が抱えている問題は、JNIを使って、2つのポインタを渡して、ラッパークラスまたは元のJavaメソッドのいずれかによって、そのメモリロケーションから暗号化または復号化されたパスワードを取得する方法を考え出すことです。
今、私は、CでDoEncryptとDoDecrypt関数を呼び出すためにwrapperを記述して、jobjectとjstringを使ってパスワードの値を出し入れすることを考えています。
これは間違いありませんか?それは最高の/簡単な/最速の方法ですか?
あなたが共有できるすべてのヘルプに感謝します。
void DoEncrypt_jni(JNIEnv** env, jarray* buffer, int* length) {
... call the real DoEncrypt ...
}
(:
は、あなたがCから直接DoEncryptとDoDecryptをテストすることができますので、ラッパー関数は、あなたがこのようなラッパーを書くことができ、良いです
チャック、