因工作需要,需要对字符串进行加密处理,在网上找了很长时间,终于找到了一个可以使用的aes加密算法。
其源代码采用c++编写而成,但其头文件引用windows.h,经过修改部分代码,将#include
去掉,这样可是使用与多个编译器。下面的代码中列出了测试用的代码(中文出现乱码现象):
main.cpp
1 int main(int argc, char *argv[]) 2 { 3 QCoreApplication a(argc, argv); 4 5 TAesClass *aes = new TAesClass; 6 char mingwen[1024] = "cheng xiaopeng"; 7 DWORD size = strlen(mingwen); 8 char miwen[1024]; 9 char jiemi[1024]; 10 UCHAR key[1024] = "xcy"; 11 UCHAR *p = key; 12 aes->InitializePrivateKey(16, p); //进行初始化 13 aes->OnAesEncrypt((LPVOID)mingwen, size, (LPVOID)miwen); //进行加密 14 aes->OnAesUncrypt((LPVOID)miwen, (DWORD)sizeof(miwen),(LPVOID)jiemi); //进行解密 15 16 //打印信息 17 qDebug() << "mingwen:" << mingwen; 18 qDebug() << "miwen:" << miwen; 19 qDebug() << "jiemi:" <<jiemi; 20 21 free(aes); 22 aes = 0; 23 return a.exec(); 24 }