public static string Compute(string algorithm, byte[] bytes) { JniEnvWrapper env = JvmManager.INSTANCE.GetEnv(); using (var jString = env.NewStringUtf(algorithm)) { using (var jByteArray = env.NewByteArray(bytes)) { using (var localRef = env.CallStaticObjectMethod(classRef.Ptr, methodRef.Ptr, new JValue { PointerValue = jString.Ptr }, new JValue { PointerValue = jByteArray.Ptr })) { return(env.GetString(localRef.Ptr)); } } } }