AES加密算法对中文加密后,解密出现乱码
大家好,我从网上找了一个AES加密算法的源代码,但是当被加密的字符串中出现中文,加密后,当进行解密时,
出现乱码,不能正常的解密,这是为啥?
【下面的代码中,mingwen出现中文,解密出现乱码】
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
TAesClass *aes = new TAesClass;
char mingwen[1024] = "cheng xiaopeng";
DWORD size = strlen(mingwen);
char miwen[1024];
char jiemi[1024];
UCHAR key[1024] = "xcy";
UCHAR *p = key;
aes->InitializePrivateKey(16, p); //进行初始化
aes->OnAesEncrypt((LPVOID)mingwen, size, (LPVOID)miwen); //进行加密
aes->OnAesUncrypt((LPVOID)miwen, (DWORD)sizeof(miwen),(LPVOID)jiemi); //进行解密
//打印信息
qDebug() << "mingwen:" << mingwen;
qDebug() << "miwen:" << miwen;
qDebug() << "jiemi:" <<jiemi;
free(aes);
aes = 0;
return a.exec();
}