我尝试用 RSA 算法加密简单的文本。我的代码有问题。
RSA *_RSA ;
unsigned char text[2560] = "A";
unsigned char sectext[2560];
unsigned char decrypttext[2560];
int i = 0;
_RSA = RSA_generate_key ( 1024, 65537, NULL, NULL );
i = RSA_public_encrypt ( 1, text, sectext, _RSA, RSA_PKCS1_OAEP_PADDING );
i = RSA_private_decrypt( 1, sectext, decrypttext, _RSA, RSA_PKCS1_OAEP_PADDING);
RSA_free ( _RSA );
的返回值为RSA_public_encrypt
128,即密文的大小。RSA_private_decrypt
返回 -1,这是一个错误。如果我尝试显示恢复的文本,那么我什么也得不到。
为什么RSA_private_decrypt
返回-1?