#ifndef __TINY_MD5_H__
#define __TINY_MD5_H__

#include <stdint.h>

typedef struct {
    uint32_t state[4];
    uint32_t count[2];
    uint8_t buffer[64];
} MD5_CTX;
extern MD5_CTX context;

void MD5Init(MD5_CTX* context);
void MD5Update(MD5_CTX* context, const uint8_t* input, uint32_t inputLen);
void MD5Final(uint8_t digest[16], MD5_CTX* context);
void MD5_Calculate(uint8_t* input, uint32_t length, uint8_t output[16]);

#endif

