Показать сообщение отдельно
Старый 12.11.2010, 18:50   #7
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
Кислый пока неопределено
По умолчанию

Код:
#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; //стопицот
}
Кислый вне форума   Ответить с цитированием