NDK AES加密

#include "com_wobiancao_ndkjnidemo_ndk_JniUtils.h" #include <string.h> /*

  • Class: Java_com_wobiancao_ndkjnidemo_ndk_JniUtils
  • Method: getStringFormC
  • Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_com_wobiancao_ndkjnidemo_ndk_JniUtils_getStringFormC (JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,"这里是来自c的string"); } const char keyValue[] = { 21, 25, 21, -45, 25, 98, -55, -45, 10, 35, -45, 35, 26, -5, 25, -65, -78, -99, 85, 45, -5, 10, -0, 11, -35, -48, -98, 65, -32, 14, -67, 25, 36, -56, -45, -5, 12, 15, 35, -15, 25, -14, 62, -25, 33, -45, 55, 12, -8 };

const char iv[] = { //16 bit -33, 32, -25, 25, 35, -27, 55, -12, -15,32, 23, 45, -26, 32, 5,16 };

jbyteArray Java_com_wobiancao_ndkjnidemo_ndk_JniUtils_getKeyValue(JNIEnv *env, jobject obj) {

jbyteArray kvArray = (*env)->NewByteArray(env, sizeof(keyValue));
jbyte *bytes = (*env)->GetByteArrayElements(env,kvArray,0);

int i;
for (i = 0; i < sizeof(keyValue);i++){
    bytes[i] = (jbyte)keyValue[i];
}

(*env)->SetByteArrayRegion(env,kvArray, 0, sizeof(keyValue),bytes);
(*env)->ReleaseByteArrayElements(env,kvArray,bytes,0);

return kvArray;

}

//JNIEXPORT JNICALL jbyteArray Java_com_wobiancao_ndkjnidemo_ndk_JniUtils_getIv(JNIEnv *env, jobject obj) {

jbyteArray ivArray = (*env)->NewByteArray(env, sizeof(iv));
jbyte *bytes = (*env)->GetByteArrayElements(env,ivArray, 0);

int i;
for (i = 0; i < sizeof(iv); i++){
    bytes[i] = (jbyte)iv[i];
}

(*env)->SetByteArrayRegion(env,ivArray, 0, sizeof(iv), bytes);
(*env)->ReleaseByteArrayElements(env,ivArray,bytes,0);

return ivArray;

}

转载于:https://my.oschina.net/u/2963604/blog/1612857

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值