Я пытаюсь использовать функции BN_ * в OpenSSL. В частности, у меня есть следующий код:Проблема с функцией BN_bn2bin от OpenSSL
#import <openssl/bn.h>
BIGNUM * num = BN_new();
BN_set_word(num, 42);
char * buffer = malloc((BN_num_bytes(num)+1) * sizeof(char));
buffer[BN_num_bytes(num)] = '\0';
int len = BN_bn2bin(num, buffer);
printf("42 in binary is %s\n", buffer);
Однако, когда я делаю это, я не получаю строку из единиц и нулей. Вместо этого он печатает "42 in binary is *"
. Насколько я могу судить, и от очень ограниченное количество примеров, доступных в Интернете, с которыми я сравнивал это, я реализовал это правильно.
Любые идеи, почему это не работает?
DOH! Я должен был подумать о том, чтобы взглянуть на значение асия! Я предполагал, что, поскольку он указан в документах рядом с bn2hex и bn2dec, он будет работать одинаково. Bummer ... Спасибо за разъяснение. знак равно –