最近学习到ndk/jni相关的,想到了在做用户登录的时候,将密码加密后进行登录操作。于是就想用C的md5来实现加密这块的操作。
具体的Android Studio如何配置ndk的开发环境就不做赘述了。
MD5加密算法是从网上找到的。
Java_com_gin_lib_tools_StrUtils_getMD5(JNIEnv*env,jobjectinstance,jstringinput) {
char* pass ="helloworld!";//将传进来的字符串拼接上自定义的字符 MD5加密
char* before = (*env)->GetStringUTFChars(env,input,0);
unsigned chardecrypt[16];
strcat(before,pass);
MD5_CTXmd5;
MD5Init(&md5);
MD5Update(&md5,before,strlen(before));
(*env)->GetStringUTFChars(env,input,before);
MD5Final(&md5,decrypt);
char* d =getAscii(decrypt,16);
jstringresult;
puts(d);
result=(*env)->NewStringUTF(env,d);
returnresult;
}
网友评论