Help with code, crashes on return, i dont know why..
JNIEXPORT jstring JNICALL Java_com_smart_smartCryptor_Decrypt__Ljava_lang_String_2Ljava_lang_String_2
(JNIEnv *env, jobject obj, jstring ciphertext, jstring secretkey){
constchar *hexStr = env->GetStringUTFChars(ciphertext, 0);
constchar *key = env->GetStringUTFChars(secretkey, 0);
//char szDataIn[] = "";
char szDataIn[17] ="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
char szDataOut[17] ="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
char szHex[33]="\0";
oRijndael.MakeKey(key ,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 32, 16);
string temp = hexStr;
for(int i =0; i< temp.length();i++){
szHex[i] = temp.at(i);
}
memset(szDataIn, 0, 16);
//convert back to binary
HexStr2CharStr(szHex, (unsigned char*) szDataOut, 16);
oRijndael.DecryptBlock(szDataOut, szDataIn);
temp ="";;
temp = temp.append(szDataIn);
char plaintext[16]="\0";
for(i =0; i< temp.length();i++){
plaintext[i] = temp.at(i);
}
env->ReleaseStringUTFChars(ciphertext,hexStr);
env->ReleaseStringUTFChars(secretkey,key);
jstring jstr;
jstr =env->NewStringUTF(plaintext);
return jstr;
//return env->NewStringUTF(plaintext);
//return env->NewStringUTF("123456789");
}
When i use return env->NewStringUTF("123456789") as my return value, everything works perfectly but when i use return env->NewStringUTF(plaintext), it crashes when i start a lot of clients that calls this method. what could be the problem? i am stumped :(
-Aldrich

