6
#define CRAM_MD5_CONTEXTLEN 32
8
struct hmac_md5_context {
9
struct md5_context ctx, ctxo;
12
void hmac_md5_init(struct hmac_md5_context *ctx,
13
const unsigned char *key, size_t key_len);
14
void hmac_md5_final(struct hmac_md5_context *ctx,
15
unsigned char digest[MD5_RESULTLEN]);
17
void hmac_md5_get_cram_context(struct hmac_md5_context *ctx,
18
unsigned char context_digest[CRAM_MD5_CONTEXTLEN]);
19
void hmac_md5_set_cram_context(struct hmac_md5_context *ctx,
20
const unsigned char context_digest[CRAM_MD5_CONTEXTLEN]);
24
hmac_md5_update(struct hmac_md5_context *ctx, const void *data, size_t size)
26
md5_update(&ctx->ctx, data, size);