www.pudn.com > cfgcrypt.rar > Coder.h
#ifndef __CODER_H__ #define __CODER_H__ #include#include /** \example CCoder_test.cpp * \brief CCoder_test类示例程序 */ /** \defgroup libcd 编码解码模块(libcd) */ /** \{*/ /** \file Coder.h \brief CCoder类的头文件 */ /** \class CCoder * \brief Base64加密解密类 */ /** \}*/ class CCoder { public: static unsigned int m_LineWidth; /**< 编码后每行的长度,缺省是76 */ static const char BASE64_ENCODE_TABLE[64]; /**< Base64编码表 */ static const unsigned int BASE64_DECODE_TABLE[256]; /**< Base64解码表 */ static const unsigned char QUOTED_ENCODE_TABLE[256]; /**< Quoted编码表 */ public: /** \brief 根据编码对象实际长度获取Base64编码后的长度,分配空间的时候可能用到 * \param iSize 编码对象的长度 * \return 编码结果的长度 */ static int Base64EncodeSize(int iSize); /** \brief 根据解码对象实际长度获取Base64解码后的长度,分配空间的时候可能用到 * \param iSize 解码对象的长度 * \return 解码结果的长度 */ static int Base64DecodeSize(int iSize); /** \brief 对一段Buffer进行Base64编码 * \param pSrc 输入Buffer * \param nSize Buffer长度 * \param pDest 输出缓冲 * \return 编码结果的实际长度,如果失败,返回0 */ static int base64_encode(char *pSrc, unsigned int nSize, char *pDest); /** \brief 对一段Buffer进行Base64解码 * \param pSrc 输入Buffer * \param nSize Buffer长度 * \param pDest 输出缓冲 * \return 解码结果的实际长度,如果失败,返回0 */ static int base64_decode(char *pSrc, unsigned int nSize, char *pDest); }; #endif //__CODER_H__