/* md5.h */1#ifndef MD5_HIDER2#define MD5_HIDER3#include "ustd.h"45#ifdef __cplusplus6extern "C" {7#endif89#define md5_block_size 6410#define md5_hash_size 161112/* algorithm context */13typedef struct md5_ctx14{15unsigned message[md5_block_size / 4]; /* 512-bit buffer for leftovers */16uint64_t length; /* number of processed bytes */17unsigned hash[4]; /* 128-bit algorithm internal hashing state */18} md5_ctx;1920/* hash functions */2122void rhash_md5_init(md5_ctx* ctx);23void rhash_md5_update(md5_ctx* ctx, const unsigned char* msg, size_t size);24void rhash_md5_final(md5_ctx* ctx, unsigned char* result);2526#ifdef __cplusplus27} /* extern "C" */28#endif /* __cplusplus */2930#endif /* MD5_HIDER */313233