2022-08-18 03:43:07 -03:00
|
|
|
#ifndef MD5_H
|
|
|
|
#define MD5_H
|
|
|
|
#ifndef HEADER_MD5_H
|
|
|
|
/* Try to avoid clashes with OpenSSL */
|
|
|
|
#define HEADER_MD5_H
|
|
|
|
#endif
|
|
|
|
|
2022-08-18 03:45:30 -03:00
|
|
|
// swiped and modified from tridge's junk code repository -pb20220818
|
|
|
|
#include "stdint.h"
|
|
|
|
#define uint32 uint32_t
|
|
|
|
// ignore cast errors in this case to keep complexity down
|
|
|
|
// on x86 where replay is run we don't care about cast alignment
|
|
|
|
|
2022-08-18 03:43:07 -03:00
|
|
|
struct MD5Context {
|
|
|
|
uint32 buf[4];
|
|
|
|
uint32 bits[2];
|
|
|
|
unsigned char in[64];
|
|
|
|
};
|
|
|
|
|
|
|
|
void MD5Init(struct MD5Context *context);
|
|
|
|
void MD5Update(struct MD5Context *context, unsigned char const *buf,
|
|
|
|
unsigned len);
|
|
|
|
void MD5Final(unsigned char digest[16], struct MD5Context *context);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is needed to make RSAREF happy on some MS-DOS compilers.
|
|
|
|
*/
|
|
|
|
typedef struct MD5Context MD5_CTX;
|
|
|
|
|
|
|
|
#endif /* !MD5_H */
|