void CProCirculate::Login(const char* accounts, const char* password, const char* passport)
{
if (!g_NetIF->handshakeDone)
{
return;
}
extern short g_sClientVer;
WPacket pk = pCNetIf->GetWPacket();
pk.WriteCmd(CMD_CM_LOGIN);
pk.WriteString(accounts);
string hexencoded;
CryptoPP::Weak::MD5 md5;
CryptoPP::StringSource ss(password, true,
new CryptoPP::HashFilter(md5,
new CryptoPP::HexEncoder(
new CryptoPP::StringSink(hexencoded), false
)
)
);
pk.WriteString(hexencoded.c_str());
string strMac = GetMacString();
if (strMac.empty()) strMac = "Unknown";
pk.WriteString(strMac.c_str());
pk.WriteShort(911);
pk.WriteShort(g_sClientVer);
pCNetIf->SendPacketMessage(pk);
}