MD5_DIGEST_LENGTH
#define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1)
#define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1)
unsigned char digest[MD5_DIGEST_LENGTH];
buf = malloc(2*MD5_DIGEST_LENGTH + 1);
for (i = 0; i < MD5_DIGEST_LENGTH; i++) {
#ifndef MD5_DIGEST_LENGTH
uchar hashResult[MD5_DIGEST_LENGTH];
char* resultChar = result.LockBuffer(MD5_DIGEST_LENGTH * 2);
for (int i = 0; i < MD5_DIGEST_LENGTH; i++) {
result.UnlockBuffer(MD5_DIGEST_LENGTH * 2);
#define MD5_DIGEST_STRING_LENGTH (MD5_DIGEST_LENGTH * 2 + 1)
void MD5Final (unsigned char[__min_size(MD5_DIGEST_LENGTH)], MD5_CTX *);
MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *context)
Encode (digest, context->state, MD5_DIGEST_LENGTH);
ctx->key_len = MD5_DIGEST_LENGTH;
HMAC_MD5_Final(u_int8_t digest[MD5_DIGEST_LENGTH], HMAC_MD5_CTX *ctx)
MD5Update(&ctx->ctx, digest, MD5_DIGEST_LENGTH);
void HMAC_MD5_Final(u_int8_t [MD5_DIGEST_LENGTH], HMAC_MD5_CTX *)
__attribute__((__bounded__(__minbytes__,1,MD5_DIGEST_LENGTH)));
MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5_CTX *ctx)
void MD5Final(u_int8_t [MD5_DIGEST_LENGTH], MD5_CTX *)
__attribute__((__bounded__(__minbytes__,1,MD5_DIGEST_LENGTH)));