Was ist die JNI-äquivalent in einen unsigned char-pointer?

Habe ich eine Funktion in C:

mySource.c:

int trapdoor(unsigned char keywords[][MAX_SIZE], unsigned int *s, int slen, unsigned char *out, int outlen); 

ist und wo der keywords ist ein array von char-arrays (mit keywords in verschiedenen Größen), s ist ein unsigned int mit der Länge slen(EDIT: tatsächlich 128-bit=>also Wert slen 4) und außen ist das Ziel-Zeiger, wo das Ergebnis der Funktion gespeichert ist, und der outlen Länge(EDIT: 256-bit=>also Wert outlen 32).

Hinweis: Da es sich um eine kryptographische Funktion, die ich brauchte, die Datentypen zu werden, der die genaue Größe, die ich erwähnt habe.

Und ich habe Sie zum aufrufen dieser Funktion aus java mittels JNI-Schnittstelle. Was sind nun die äquivalenten Datentypen in java & JNI, dass ich zu Durchlaufen haben, als Parameter aufrufen, um die trapdoor-Funktion in C?

mySource_jni.c:

JNIEXPORT ?? JNICALL Java_proj_trapdoor(JNIEnv *env, jobject obj, ??,  ??, ??, ??, ??, ??);

myJavaSource.java:

private native ?? trapdoor_extraction(??, ??, ??, ??, ??);

Fand ich es aus anderen Beiträgen, dass es kein äquivalent zu unsigned-Datentypen in java (korrigiert mich wenn ich falsch Liege).

  • Es könnte einfacher sein, zu erklären, das Java-native-Methode als static, es sei denn, Sie gehen zu halten keywords in einem Feld, das Lesen Sie in der JNI-code statt es als parameter übergeben.
  • Wie @JoshDM schlägt vor, Sie sollten sich auf das konzentrieren, was die Daten vor der Zuordnung von Datentypen. Sie erwähnen keywords, sind Sie strings? Wenn ja, welchen Zeichensatz und encoding? Sind *s und *out strings auch, oder nur eine gerade Anzahl von beliebigen bytes und jede beliebige Anzahl von bytes aus? Möglicherweise gibt es technische Einschränkungen in trapdoor aber der Schwerpunkt sollte sein, wie Sie wollen, es zu benutzen in Java.
InformationsquelleAutor annunarcist | 2013-08-08
Schreibe einen Kommentar