# md5
[utilities]

## Classes
struct | axutil_md5_ctx
## Defines
#define | AXIS2_MD5_DIGESTSIZE 16
## Typedefs
typedef struct axutil_md5_ctx | axutil_md5_ctx_t
## Functions
AXIS2_EXTERN axutil_md5_ctx_t * | axutil_md5_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN void | axutil_md5_ctx_free (axutil_md5_ctx_t *md5_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_status_t | axutil_md5_update (axutil_md5_ctx_t *context, const axutil_env_t *env, const void *input_str, size_t inputLen)
AXIS2_EXTERN axis2_status_t | axutil_md5_final (axutil_md5_ctx_t *context, const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE])
AXIS2_EXTERN axis2_status_t | axutil_md5 (const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE], const void *input_str, size_t inputLen)

## Define Documentation

#define AXIS2_MD5_DIGESTSIZE 16

The MD5 digest size

## Function Documentation

AXIS2_EXTERN axis2_status_t axutil_md5 | ( | const axutil_env_t * | env,
|  | unsigned char | digest[AXIS2_MD5_DIGESTSIZE],
|  | const void * | input_str,
|  | size_t | inputLen |
| ) |  |  |

MD5 in one step.

Parameters:

  | env,pointer | to the env struct.
  | digest | The final MD5 digest.
  | input_str | The message block to use.
  | inputLen | The length of the message block.

AXIS2_EXTERN axutil_md5_ctx_t* axutil_md5_ctx_create | ( | const axutil_env_t * | env | ) |

Creates md5_ctx struct, which is used for the MD5 message-digest operation. Initialization of the struct is done during the creation process.

Parameters:

  | env,pointer | to the env struct.

Returns:
  pointer to md5_ctx struct created.

AXIS2_EXTERN void axutil_md5_ctx_free | ( | axutil_md5_ctx_t * | md5_ctx,
|  | const axutil_env_t * | env |
| ) |  |  |

Frees the md5_ctx struct

Parameters:

  | md5_ctx,pointer | to struct to free.
  | env,pointer | to the env struct.

AXIS2_EXTERN axis2_status_t axutil_md5_final | ( | axutil_md5_ctx_t * | context,
|  | const axutil_env_t * | env,
|  | unsigned char | digest[AXIS2_MD5_DIGESTSIZE] |
| ) |  |  |

MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context.

Parameters:

  | digest | The final MD5 digest.
  | env,pointer | to the env struct.
  | context | The MD5 content we are finalizing.

AXIS2_EXTERN axis2_status_t axutil_md5_update | ( | axutil_md5_ctx_t * | context,
|  | const axutil_env_t * | env,
|  | const void * | input_str,
|  | size_t | inputLen |
| ) |  |  |

MD5 block update operation. Continue an MD5 message-digest operation, processing another message block, and updating the context.

Parameters:

  | context | The MD5 content to update.
  | env,pointer | to the env struct.
  | input_str | next message block to update
  | inputLen | The length of the next message block