Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef APR_MD5_H
00030 #define APR_MD5_H
00031
00032 #include "apu.h"
00033 #include "apr_xlate.h"
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00050 #define APR_MD5_DIGESTSIZE 16
00051
00053 typedef struct apr_md5_ctx_t apr_md5_ctx_t;
00054
00056 struct apr_md5_ctx_t {
00058 apr_uint32_t state[4];
00060 apr_uint32_t count[2];
00062 unsigned char buffer[64];
00066 apr_xlate_t *xlate;
00067 };
00068
00073 APU_DECLARE(apr_status_t) apr_md5_init(apr_md5_ctx_t *context);
00074
00081 APU_DECLARE(apr_status_t) apr_md5_set_xlate(apr_md5_ctx_t *context,
00082 apr_xlate_t *xlate);
00083
00091 APU_DECLARE(apr_status_t) apr_md5_update(apr_md5_ctx_t *context,
00092 const void *input,
00093 apr_size_t inputLen);
00094
00101 APU_DECLARE(apr_status_t) apr_md5_final(unsigned char digest[APR_MD5_DIGESTSIZE],
00102 apr_md5_ctx_t *context);
00103
00110 APU_DECLARE(apr_status_t) apr_md5(unsigned char digest[APR_MD5_DIGESTSIZE],
00111 const void *input,
00112 apr_size_t inputLen);
00113
00121 APU_DECLARE(apr_status_t) apr_md5_encode(const char *password, const char *salt,
00122 char *result, apr_size_t nbytes);
00123
00124
00135 APU_DECLARE(apr_status_t) apr_password_validate(const char *passwd,
00136 const char *hash);
00137
00138
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143
00144 #endif