void JNICALL Java_beecrypt_provider_SHA224_update__J_3BII(JNIEnv* env, jclass dummy, jlong param, jbyteArray input, jint off, jint len)
{
	jbyte* data = (*env)->GetByteArrayElements(env, input, 0);
	if (data)
	{
		sha224Update((sha224Param*) param, (byte *)data+off, len);

		(*env)->ReleaseByteArrayElements(env, input, data, JNI_ABORT);
	}
	else
	{
		jclass ex = (*env)->FindClass(env, "java/lang/NullPointerException");
		if (ex)
			(*env)->ThrowNew(env, ex, (const char*) 0);
	}
}
Example #2
0
error_t sha224Compute(const void *data, size_t length, uint8_t *digest)
{
   //Allocate a memory buffer to hold the SHA-224 context
   Sha224Context *context = osAllocMem(sizeof(Sha224Context));
   //Failed to allocate memory?
   if(!context) return ERROR_OUT_OF_MEMORY;

   //Initialize the SHA-224 context
   sha224Init(context);
   //Digest the message
   sha224Update(context, data, length);
   //Finalize the SHA-224 message digest
   sha224Final(context, digest);

   //Free previously allocated memory
   osFreeMem(context);
   //Successful processing
   return NO_ERROR;
}
void JNICALL Java_beecrypt_provider_SHA224_update__JB(JNIEnv* env, jclass dummy, jlong param, jbyte input)
{
	sha224Update((sha224Param*) param, (byte *)&input, 1);
}