Md5.h 699 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #define _ReadBufSize 1000000
  3. #define md5StringLength 32
  4. class CMd5
  5. {
  6. public:
  7. char* CalcMD5FromString(const char *s8_Input, int len);
  8. char* CalcMD5FromFile(const TCHAR *s8_Path);
  9. void MD5Init();
  10. void MD5Update(unsigned char *buf, unsigned len);
  11. char* MD5FinalToString();
  12. void FreeBuffer();
  13. CMd5();
  14. virtual ~CMd5();
  15. private:
  16. struct MD5Context
  17. {
  18. unsigned long buf[4];
  19. unsigned long bits[2];
  20. unsigned char in[64];
  21. };
  22. void MD5Final (unsigned char digest[16]);
  23. void MD5Transform(unsigned long buf[4], unsigned long in[16]);
  24. void byteReverse (unsigned char *buf, unsigned longs);
  25. char *mp_s8ReadBuffer;
  26. MD5Context ctx;
  27. char ms8_MD5[40]; // Output buffer
  28. };