Md5.h 663 B

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