jlong JNICALL Java_beecrypt_provider_HMACSHA384_allocParam(JNIEnv* env, jclass dummy) { jlong param = (jlong) malloc(sizeof(hmacsha384Param)); if (param == 0) { jclass ex = (*env)->FindClass(env, "java/lang/OutOfMemoryError"); if (ex) (*env)->ThrowNew(env, ex, (const char*) 0); } sha384Reset((sha384Param*) param); return param; }
int sha384Digest(register sha384Param* sp, byte* data) { sha384Finish(sp); /* encode 8 integers big-endian style */ data[ 0] = (byte)(sp->h[0] >> 56); data[ 1] = (byte)(sp->h[0] >> 48); data[ 2] = (byte)(sp->h[0] >> 40); data[ 3] = (byte)(sp->h[0] >> 32); data[ 4] = (byte)(sp->h[0] >> 24); data[ 5] = (byte)(sp->h[0] >> 16); data[ 6] = (byte)(sp->h[0] >> 8); data[ 7] = (byte)(sp->h[0] >> 0); data[ 8] = (byte)(sp->h[1] >> 56); data[ 9] = (byte)(sp->h[1] >> 48); data[10] = (byte)(sp->h[1] >> 40); data[11] = (byte)(sp->h[1] >> 32); data[12] = (byte)(sp->h[1] >> 24); data[13] = (byte)(sp->h[1] >> 16); data[14] = (byte)(sp->h[1] >> 8); data[15] = (byte)(sp->h[1] >> 0); data[16] = (byte)(sp->h[2] >> 56); data[17] = (byte)(sp->h[2] >> 48); data[18] = (byte)(sp->h[2] >> 40); data[19] = (byte)(sp->h[2] >> 32); data[20] = (byte)(sp->h[2] >> 24); data[21] = (byte)(sp->h[2] >> 16); data[22] = (byte)(sp->h[2] >> 8); data[23] = (byte)(sp->h[2] >> 0); data[24] = (byte)(sp->h[3] >> 56); data[25] = (byte)(sp->h[3] >> 48); data[26] = (byte)(sp->h[3] >> 40); data[27] = (byte)(sp->h[3] >> 32); data[28] = (byte)(sp->h[3] >> 24); data[29] = (byte)(sp->h[3] >> 16); data[30] = (byte)(sp->h[3] >> 8); data[31] = (byte)(sp->h[3] >> 0); data[32] = (byte)(sp->h[4] >> 56); data[33] = (byte)(sp->h[4] >> 48); data[34] = (byte)(sp->h[4] >> 40); data[35] = (byte)(sp->h[4] >> 32); data[36] = (byte)(sp->h[4] >> 24); data[37] = (byte)(sp->h[4] >> 16); data[38] = (byte)(sp->h[4] >> 8); data[39] = (byte)(sp->h[4] >> 0); data[40] = (byte)(sp->h[5] >> 56); data[41] = (byte)(sp->h[5] >> 48); data[42] = (byte)(sp->h[5] >> 40); data[43] = (byte)(sp->h[5] >> 32); data[44] = (byte)(sp->h[5] >> 24); data[45] = (byte)(sp->h[5] >> 16); data[46] = (byte)(sp->h[5] >> 8); data[47] = (byte)(sp->h[5] >> 0); sha384Reset(sp); return 0; }