Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gmp.h>
int main (int argc, char **argv)
{
//var
char rsakey[16] = {'1','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char* pack = "123AAA45";
printf("pack = %s\n",pack);
printf("rsakey = %s\n",rsakey);
//begin*
// инициализация переменных
mpz_t m, e, d, r;
mpz_init(m);
mpz_init(e);
mpz_init(d);
mpz_init(r);
mpz_init_set_str(m, rsakey, 16);
mpz_init_set_str(d, pack, 16);
//mpz_set_ui(e,65537); один хер.
mpz_init_set_str(e, "65537", 10);
mpz_powm(r, d, e, m);
//mpz_get_str(sR, 16, r);
//char* sR = mpz_get_str(NULL, 16, d);
char sR[5000] = {};
mpz_get_str(sR, 16, r);
int k = strlen(sR);
printf("результат = %s | размер %i\n",sR, k);
mpz_clear(m);
mpz_clear(e);
mpz_clear(d);
mpz_clear(r);
printf("Finish\n");
return 100500; //стопицот
}