RSA* myRSA;
unsigned char cleartext[2560] = "aaaaaaaaaaaaaaaaa";
unsigned char encrypted[2560] = { 0 };
unsigned char decrypted[2560] = { 0 };
int resultEncrypt = 0;
int resultDecrypt = 0;
myRSA = RSA_generate_key(1024, RSA_F4, NULL, NULL);
resultEncrypt = RSA_public_encrypt(strlen((const char*)cleartext) /* strlen(cleartext) */, cleartext, encrypted, myRSA, RSA_PKCS1_PADDING);
CString base64strTemp = FBI_PublicFunction::encode_BASE64_char_to_CString(encrypted, resultEncrypt);
printf("%d from encrypt.\n", resultEncrypt);
resultDecrypt = RSA_private_decrypt(128 /* resultEncrypt */, encrypted, decrypted, myRSA, RSA_PKCS1_PADDING);
printf("%d from decrypt: '%s'\n", resultDecrypt, decrypted);
CString ss = FBI_PublicFunction::MakeCString("%s", decrypted);
RSA_free(myRSA);
亲测可用
参考: