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