00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00026
#ifndef _MD5_H
00027
#define _MD5_H
00028
00029
#include "beecrypt.h"
00030
00034 typedef struct
00035
{
00038 uint32_t h[4];
00041 uint32_t data[16];
00046
#if (MP_WBITS == 64)
00047
mpw length[1];
00048
#elif (MP_WBITS == 32)
00049
mpw length[2];
00050
#else
00051
# error
00052
#endif
00053
00057 uint32_t offset;
00058 }
md5Param;
00059
00060
#ifdef __cplusplus
00061
extern "C" {
00062
#endif
00063
00067
extern BEECRYPTAPI const hashFunction md5;
00068
00075
BEECRYPTAPI
00076
void md5Process(
md5Param* mp);
00077
00084
BEECRYPTAPI
00085
int md5Reset (
md5Param* mp);
00086
00095
BEECRYPTAPI
00096
int md5Update (
md5Param* mp,
const byte* data, size_t size);
00097
00105
BEECRYPTAPI
00106
int md5Digest (
md5Param* mp,
byte* digest);
00107
00108
#ifdef __cplusplus
00109
}
00110
#endif
00111
00112
#endif