J'essaie d'utiliser les fonctions BN_ * dans OpenSSL. Plus précisément, j'ai le code suivant:Problème avec la fonction BN_bn2bin d'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);
Cependant, quand je le fais, je ne suis pas une chaîne de uns et de zéros. Au lieu de cela, il imprime "42 in binary is *"
. Pour autant que je sache, et à partir du très nombre limité d'exemples disponibles sur le Web que j'ai comparé à, j'ai implémenté correctement.
Des idées pour lesquelles cela ne fonctionne pas?
doh! J'aurais dû penser à regarder la valeur ASCII! Je supposais que, comme il est indiqué dans les documents à côté de bn2hex et bn2dec que cela fonctionnerait de la même manière. Bummer ... Merci d'avoir clarifié. =) –