13,822
社区成员
发帖
与我相关
我的任务
分享
#include<string.h>
#include <openssl/rsa.h>
#pragma comment(lib,"libeay32.lib")
#pragma comment(lib,"ssleay32.lib")
typedef unsigned char BYTE;
int main(int argc, char* argv[])
{
BIGNUM b={0};
RSA* pRsa = RSA_generate_key( 1024 ,RSA_F4,0,0);
//pRsa中包含了N D,你这里自己修改就可以了
char sz[]="abcdefg";
int len = RSA_size( pRsa );
BYTE* p = new BYTE[ len ];
memset(p,0,len);
RSA_public_encrypt( sizeof(sz) , (unsigned char *)sz , p , pRsa , RSA_PKCS1_PADDING );
char out[1024]={0};
RSA_private_decrypt( len , p , (unsigned char *)out , pRsa , RSA_PKCS1_PADDING );
printf("%s\n",out);
RSA_free( pRsa );
return 0;
}