00001
00012 #ifndef DKUTIL_C_MD4_H
00013 #define DKUTIL_C_MD4_H
00014
00015 #include "md_misc.h"
00016 #include "dkcOSIndependent.h"
00017
00018
00020 #define MD4_BIN_BUFFER_SIZE 16
00021
00022 #define MD4_STR_BUFFER_SIZE 33
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00045 DKC_EXTERN DKC_MD4 *WINAPI dkcAllocMD4();
00046
00048 DKC_EXTERN void WINAPI dkcMD4Init(DKC_MD4 *);
00049
00050 DKC_INLINE void dkcMD4InitEx(DKC_MD4 *p,uint8 flags)
00051 {
00052 dkcMD4Init(p);
00053 p->flags = flags;
00054 }
00055
00064 DKC_EXTERN void WINAPI dkcMD4Load(DKC_MD4 *p,const BYTE *pBuffer,DWORD dwSize);
00065
00066
00072 DKC_EXTERN void WINAPI dkcMD4Final(DKC_MD4 *p);
00079 DKC_EXTERN int WINAPI dkcMD4DigestStr(DKC_MD4 *p,char *buff,size_t size);
00081 DKC_EXTERN int WINAPI dkcMD4Digest(DKC_MD4 *p,BYTE *buff,size_t size);
00082
00088 DKC_EXTERN int WINAPI dkcMD4FinalDigestStr(DKC_MD4 *p,char *buff,size_t size);
00090 DKC_EXTERN int WINAPI dkcMD4FinalDigest(DKC_MD4 *p,BYTE *buff,size_t size);
00091
00096 DKC_EXTERN int WINAPI dkcFreeMD4(DKC_MD4 **p);
00097
00098
00099
00100 #endif //end of include once