/** @file WinDecryptBuffer.h @brief
*	Copyright (c) 2009,北京金刚游科技有限公司
*	All rights reserved.
*
*	当前版本:
*	作    者:KingKong
*	完成日期:2009-04-02
*
*	取代版本:
*	作    者:
*	完成日期:
*/ #pragma once #include "convertbuffer.h" #include //加密API宏 #define MY_ENCODING_TYPE (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING) #define KEYLENGTH 0x00800000 #define ENCRYPT_ALGORITHM CALG_RC4 //---------------------------------------------------------------- //加密大小必须是8字节的整倍数 #define ENCRYPT_BLOCK_SIZE 8 #define ENCRYPT_PACK_LENGTH 8 * ENCRYPT_BLOCK_SIZE class CWinDecryptBuffer : public CConvertBuffer { public: CWinDecryptBuffer(void); ~CWinDecryptBuffer(void); virtual bool Create(); virtual void Destroy(); static CWinDecryptBuffer& GetInstance(); virtual bool DoConvertBuffer(const BYTE * szBuffer, UINT nBufferSize, BYTE * pDestBuffer, UINT nDecryptBufferSize); private: HCRYPTPROV m_hCryptProv; //CSP句柄 HCRYPTKEY m_hKey; //key句柄 HCRYPTHASH m_hHash; //hash对象句柄 };