/** 导出函数加密
	*   @Author : Double sword
	*   @Params : strin	, strout
	*   @Return : 
	*   @Date   : 2011-8-9
	*/
	__declspec(dllexport) int Crypto(char* strin,char ** strout)
	{
		CString strSend(strin),str;
		BYTE key[16]={0x12,0x44,0x56,0x38,0x55,0x82,0x56,0x85,0x23,0x25,0x56,0x45,0x52,0x47,0x45,0x86};
		AES aes1(AES::BIT128,key);

		int len=strSend.GetLength();

		BYTE input[16];
		BYTE output[16];

		BYTE *pByte=new BYTE[len] ;     
		memcpy(pByte,strSend.GetBuffer(0),len); 
		strSend="";

		int iMeg=len/16,i,j=0;
		while(iMeg)
		{
			i=0;	
			for(j=16*(len/16-iMeg);j<16*(len/16-iMeg+1);j++)
			{
				input[i]=pByte[j];
				i++;
			}
			aes1.Cipher(input,output);
			for(i=0;i<16;i++)
			{
				str.Format("x%x",output[i]);
				strSend+=str;
			}
			iMeg--;
		}
		if(len%16!=0)
		{
			for(i=0;i<16;i++)
			{
				if(i<len%16)
				{
					input[i]=pByte[j];
					j++;
				}
				else
					input[i]=0x0;
			}
			aes1.Cipher(input,output);
			for(i=0;i<16;i++)
			{
				str.Format("x%x",output[i]);
				strSend+=str;//密文
			}
		}
		*strout = new char[strSend.GetLength()+1];
		(*strout)[strSend.GetLength()] = '\0';
		memcpy(*strout,strSend.GetBuffer(0),strSend.GetLength());
		return strSend.GetLength();
	}
/// 接收文本消息
void CChatRoomServerDlg::ReceiveText( CHATROOMMESSAGEINFO CRMInfo, char *pData, DWORD dwTextLength )
{
	pData[ dwTextLength ] = 0;
	for( int nIndex = 1; nIndex < m_arrFriendsInChat.GetSize(); nIndex++ )
	{
		USER userSrc = m_arrFriendsInChat.GetAt( nIndex );
		if( 0 == strcmp( userSrc.strIP, CRMInfo.szSrcIP ) )
		{
			CString strText;
			strText.Format( "%s(%s) %s\r\n  %s\r\n\r\n",
				userSrc.strName,
				userSrc.strIP,
				CRMInfo.szTime,
				pData );
			CString strReceiveText;
			m_editReceived.GetWindowText( strReceiveText );
			m_editReceived.SetWindowText( strReceiveText + strText );
			m_editReceived.LineScroll( m_editReceived.GetLineCount() );
			FlashWindow( TRUE );
			
			CString strSend( pData );

			/// 向所有客户端发送消息
			for( int nIndex1 = 1; nIndex1 < m_arrFriendsInChat.GetSize(); nIndex1++ )
			{
				USER userSend = m_arrFriendsInChat.GetAt( nIndex1 );
				if( 0 == strcmp( userSrc.strIP, userSend.strIP ) )
				{
					continue;
				}
				SendTextToIP( userSend.strIP, CHATROOM_CLIENT_PORT, strSend, userSrc.strIP );
			}
			break;
		}
	}	
}