我想改变
Cipher cipher = Cipher.getInstance("DES");
进入jni中的cpp代码。怎么做?
答案 0 :(得分:3)
JNIEnv *jni; //Comes from somewhere
jclass cl = jni->FindClass("javax/crypto/Cipher");
jmethodID MID = jni->GetStaticMethodID(cl, "getInstance", "(Ljava/lang/String)Ljavax/crypto/Cipher;");
jstring s = jni->NewStringUTF("DES");
jobject cipher = jni->CallStaticObjectMethod(cl, MID, s);
这省略了错误处理。
答案 1 :(得分:1)
另一种替代方案是使用本机代码进行加密,例如OpenSSL的。
强制警告:不要使用DES。