Base64.h
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:2k
源码类别:

CA认证

开发平台:

Visual C++

  1. /*
  2. Module : Base64.h
  3. Purpose: Defines the interface for a simple base64 decoding class
  4. Created: PJN / 22-04-1999
  5. Copyright (c) 1999 - 2004 by PJ Naughter.   (Web: www.naughter.com, Email: pjna@naughter.com)
  6.  
  7. All rights reserved.
  8. Copyright / Usage Details:
  9. You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 
  10. when your product is released in binary form. You are allowed to modify the source code in any way you want 
  11. except you cannot modify the copyright details at the top of each module. If you want to distribute source 
  12. code with your application, then you are only allowed to distribute versions released by the author. This is 
  13. to maintain a single distribution point for the source code. 
  14. */
  15. /////////////////////////////// Defines ///////////////////////////////////////
  16. #ifndef __BASE64_H__
  17. #define __BASE64_H__
  18. #ifndef SOCKMFC_EXT_CLASS
  19. #define SOCKMFC_EXT_CLASS
  20. #endif
  21. /////////////////////////////// Classes ///////////////////////////////////////
  22. class SOCKMFC_EXT_CLASS CBase64
  23. {
  24. public:
  25. //Defines
  26.   #define BASE64_FLAG_NONE   0
  27.   #define BASE64_FLAG_NOPAD   1
  28.   #define BASE64_FLAG_NOCRLF  2
  29. //Methods
  30.   int  DecodeGetRequiredLength(int nSrcLen);
  31.   int  EncodeGetRequiredLength(int nSrcLen, DWORD dwFlags = BASE64_FLAG_NONE);
  32.   BOOL Encode(const BYTE* pbSrcData, int nSrcLen, LPSTR szDest, int* pnDestLen, DWORD dwFlags = BASE64_FLAG_NONE);
  33.   BOOL Decode(LPCSTR szSrc, int nSrcLen, BYTE* pbDest, int* pnDestLen);
  34. protected:
  35.   int DecodeChar(unsigned int ch);
  36. };
  37. #endif //__BASE64_H__