这是我调用openssl AES加密的代码和运行的信息,大家帮忙看一下,有什么问题么,加密前面一部分是对的,后面就不对了,为什么呢?
unsigned char ch1[16];
memcpy(ch1,systemRes.PKey.toStdString().c_str(),16);
qDebug()<<"127"<<(char*)ch1;
char* pkey;
pkey =(char*)ch1;
qDebug()<<"130"<<pkey;
AES_set_encrypt_key((const unsigned char*)pkey,128,&aes);
qDebug()<<(const unsigned char*)pkey;
verftyRes.OID="AAA4";
verftyRes.ST="0001";
qDebug()<<verftyRes.R1<<"\n"<<verftyRes.R1.size();
unsigned char ch2[16];
memcpy(ch2,verftyRes.R1.toStdString().c_str(),16);
qDebug()<<"143"<<(char*)ch2;
char* R1;
R1 =(char*)ch2;
qDebug()<<"146"<<R1;
unsigned char R1_new[44],r1_new[44];
AES_ecb_encrypt((const unsigned char*)R1,R1_new,&aes,AES_ENCRYPT);
char* outbase64Encode;
Base64Encode((const unsigned char*)R1_new,32,&outbase64Encode);
qDebug()<<outbase64Encode;
打印信息:
"5bc1a33325ff47db" //这是PKey 16 //16位 127 5bc1a33325ff47db 130 5bc1a33325ff47db 0x7fffaa8aefa0 "12345678fiksjfch" 16 143 12345678fiksjfch�J0 //这里为什么有乱码呢,这个是明文12345678fiksjfch 146 12345678fiksjfch�J0 W8rD2xZPSCFKaSaBgtuYb7D4iqr/fwAAh4z0HGl/AAA= 16 @ // 这个base64显示的,我用AES在线加密试一下加密出来是:W8rD2xZPSCFKaSaBgtuYbx0c5sBDEfbCmGr4NympxG8=,前部分是对的,这是为什么呢?谁知道帮忙下哈,谢谢!
|