#ifndef MD5_H1#define MD5_H2#ifndef HEADER_MD5_H3/* Try to avoid clashes with OpenSSL */4#define HEADER_MD5_H5#endif67// swiped and modified from tridge's junk code repository -pb202208188#include "stdint.h"9#define uint32 uint32_t10// ignore cast errors in this case to keep complexity down11// on x86 where replay is run we don't care about cast alignment1213struct MD5Context {14uint32 buf[4];15uint32 bits[2];16unsigned char in[64];17};1819void MD5Init(struct MD5Context *context);20void MD5Update(struct MD5Context *context, unsigned char const *buf,21unsigned len);22void MD5Final(unsigned char digest[16], struct MD5Context *context);2324/*25* This is needed to make RSAREF happy on some MS-DOS compilers.26*/27typedef struct MD5Context MD5_CTX;2829#endif /* !MD5_H */303132