00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXUTIL_MD5_H
00019 #define AXUTIL_MD5_H
00020
00026 #include <axutil_utils_defines.h>
00027 #include <axutil_env.h>
00028
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033
00048 #define AXIS2_MD5_DIGESTSIZE 16
00049
00050 typedef struct axutil_md5_ctx
00051 {
00053 unsigned int state[4];
00055 unsigned int count[2];
00057 unsigned char buffer[64];
00058 }
00059 axutil_md5_ctx_t;
00060
00068 AXIS2_EXTERN axutil_md5_ctx_t *AXIS2_CALL
00069 axutil_md5_ctx_create(
00070 const axutil_env_t * env);
00071
00077 AXIS2_EXTERN void AXIS2_CALL
00078 axutil_md5_ctx_free(
00079 axutil_md5_ctx_t * md5_ctx,
00080 const axutil_env_t * env);
00081
00090 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091 axutil_md5_update(
00092 axutil_md5_ctx_t *context,
00093 const axutil_env_t * env,
00094 const void *input_str,
00095 size_t inputLen);
00096
00104 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105 axutil_md5_final(
00106 axutil_md5_ctx_t *context,
00107 const axutil_env_t * env,
00108 unsigned char digest[AXIS2_MD5_DIGESTSIZE]);
00109
00117 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118 axutil_md5(
00119 const axutil_env_t * env,
00120 unsigned char digest[AXIS2_MD5_DIGESTSIZE],
00121 const void *input_str,
00122 size_t inputLen);
00123
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129
00130 #endif