系统:windows10
环境:VS2013 update5
语言:c++
函数:将BYTE转为字符串,而后用于md5加密与日志打印。
/*********************************************************************************************************************/
//16进制转char;通过函数:hex2char,不进行转换md5加密结果会出错。
BYTE temp[40]; //存储将16进制转成单个16进制的数
CHAR temp2[40]; //存储转换后的字符串。
//第一步将双16进制拆分成单16进制
for (int i = 0; i < 20; i++)
{
temp[2 * i] = pda_send2_pwdmd5[i] >> 4;
temp[2 * i + 1] = pda_send2_pwdmd5[i] & 0xf;
}
strVal_Rev = "Send2:tail"; //初始化日志头
for (int i = 0; i < 40; i++)
{
//2019-6-25 13:44:27代码错误,自己加密自己的空。重新修改了代码将原Hex2Char(temp2[i])修改为Hex2Char(temp[i])
//2019-6-25 18:06:05修改将公钥转为大写字母的问题
temp2[i] = tl->Hex2Char(temp[i]);
strVal_Rev += temp2[i];//日志缓存
}
::SendMessage(AfxGetMainWnd()->m_hWnd, WM_COUNT_MSG, (WPARAM)strVal_Rev.AllocSysString(), 0);
strVal_Rev.Empty(); //清空日志缓存变量。