계단 다이어트 37주차, 15.5kg 감량 체중 관련해서 마지막 업로드가 26주차 였습니다. 벌써 11주가 지났내요. 그 때부터 지금까지 아직 다이어트한 체중은 잘 유지하고 있습니다. 급하게 많이 빼지 않기 위해서 노력을 하면서 조금씩 빠지고 있습니다. 그래서 운동을 아침에만 계단오르기 100층을 진행하고 아침과 저녁에는 근력운동을 같이 병행하면서 진행하고 있습니다. 근력을 키우기 위해서 단백질을 더 먹고 덤벨 무게나 운동량을 늘릴려고 노력합니다. 식단은 하루 2끼를 먹으며 아침에는 평소대로 먹고 (9시~9시반) 저녁에는 닭가슴살 200g~300g + 계란후라이 3개 (4시~5시) 위와 같이 아침과 저녁을 먹고 별도로 야식은 먹지 않습니다. 토-일 주말에는 그냥 친구와 술 먹고 평소 먹고 싶은 것을 먹고 쉽니다. (당연히 이러면 월요일에 2.5 ~ 3kg 정도 체중이 증가 합니다.) 다만 요즘은 목요일 즘 되면 목표 체중에 도달을 하는데(2kg 조금 넘게 빠집니다.) 그러면 저녁에는 그냥 밥을 먹는 일반 식단을 해서 (다이어트 식단을 하지 않고) 체중 감소가 너무 급격하게 되는걸 막으려고 하고 있습니다. 그래도 너무 빠지면 금요일에는 운동을 쉬는 경우도 있습니다. 최근에 공복 혈당 측정을 오랜만에 해봤는데 100에 더 가깝게 측정이 되어서 다이어트 효과를 좀 보고 있는것 같습니다. (공복혈당 : 102, 2024.11 건강검진에서는 114) 11월이 1주년인데 그 때까지 꾸준히 유지하도록 하겠습니다. 시작 : 2024.11.13 기간 : 2025.7.18 (37주차) 시작 체중 : 78.5 현재 체중 : 63.0 (체중은 아침에 일어나서 밥먹기 전에 측정, 해당 주에 가장 낮은 측정값) 운동방식 : 계단오르기 난이도 : 1회 100층 횟수 : 하루 2번, 아침과 저녁 (100층 x 2 = 하루 총 20...
NDK C 소스에서 java 함수를 불러와서 복호화 하는 코드 C 기반으로 만들어서 C++의 경우 수정 필요
jbyteArray aesdecrypt128bit(JNIEnv* env, int appversion, int bitnumber, jbyteArray data){
// 자바에서 암호화 함수를 불러와서 복호화를 진행
LOGD("NDK : %d / %d", appversion, bitnumber);
// SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES"); jclass cls_SecretKeySpe = (*env)->FindClass( env, "javax/crypto/spec/SecretKeySpec" );
jmethodID constructor_SecretKeySpe = (*env)->GetMethodID(env, cls_SecretKeySpe, "<init>", "([BLjava/lang/String;)V");
jobject myKey = NULL;
if(bitnumber == 128){
myKey = (*env)->NewObject(env, cls_SecretKeySpe, constructor_SecretKeySpe, getKey(env, appversion), (*env)->NewStringUTF( env, "AES" ));
}
else if(bitnumber == 256){
myKey = (*env)->NewObject(env, cls_SecretKeySpe, constructor_SecretKeySpe, getKey256(env, appversion), (*env)->NewStringUTF( env, "AES" ));
}
//IvParameterSpec ivspec = new IvParameterSpec(key.substring(0,16).getBytes("UTF-8")) jclass cls_IvParameterSpec = (*env)->FindClass(env, "javax/crypto/spec/IvParameterSpec");
jmethodID constructor_IvParameterSpec = (*env)->GetMethodID(env, cls_IvParameterSpec, "<init>", "([B)V");
jobject ivspec = NULL;
if(bitnumber == 128){
ivspec = (*env)->NewObject(env, cls_IvParameterSpec, constructor_IvParameterSpec, getIvKey(env, appversion));
}
else if(bitnumber == 256){
ivspec = (*env)->NewObject(env, cls_IvParameterSpec, constructor_IvParameterSpec, getIvKey256(env, appversion));
}
// Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); jclass cls_Cipher = (*env)->FindClass( env, "javax/crypto/Cipher" );
jfieldID fid = (*env)->GetStaticFieldID(env, cls_Cipher, "DECRYPT_MODE", "I");
jint cipher_mode = (*env)->GetStaticIntField( env, cls_Cipher, fid );
jmethodID mid_getInstance = (*env)->GetStaticMethodID( env, cls_Cipher, "getInstance", "(Ljava/lang/String;)Ljavax/crypto/Cipher;" );
jobject obj_Cipher = (*env)->CallStaticObjectMethod( env, cls_Cipher, mid_getInstance, (*env)->NewStringUTF(env, "AES/CBC/PKCS5Padding" ) );
// cipher.init(Cipher.DECRYPT_MODE, skeySpec, ivspec); jclass cls_Cipher_init = (*env)->GetObjectClass( env, obj_Cipher );
jmethodID mid_init = (*env)->GetMethodID( env, cls_Cipher_init, "init", "(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" );
(*env)->CallVoidMethod( env, obj_Cipher, mid_init, cipher_mode, myKey, ivspec );
// encrypted = cipher.doFinal(bytes); jmethodID mid_doFinal = (*env)->GetMethodID( env, cls_Cipher_init, "doFinal", "([B)[B" );
jbyteArray decrypted_data = (jbyteArray)(*env)->CallObjectMethod( env, obj_Cipher, mid_doFinal, data );
(*env)->DeleteLocalRef( env, cls_Cipher ); // Release Cipher (*env)->DeleteLocalRef( env, myKey );
(*env)->DeleteLocalRef( env, cls_SecretKeySpe ); // Release SecretKeySpec (*env)->DeleteLocalRef( env, ivspec );
(*env)->DeleteLocalRef( env, cls_IvParameterSpec ); // Release IvParameterSpec (*env)->DeleteLocalRef( env, obj_Cipher );
(*env)->DeleteLocalRef( env, cls_Cipher_init );
return decrypted_data;
}