006
24.12.2008, 10:42 Uhr
michik
|
ne das kann ich leider nicht benutzten da ich meinen eigenen code in openssl eingebaut habe aber die benutzten bignums und ich habe gerade gesehen das es eine bignum to bin funktion gibt aber irgendwie gibt die mir keine binärzahlen aus .. hmm ? ich muss von der bignum e den wert binär machen und das hab ich mit num versucht aber ich könnte direkt die BN_bn2bin(e,num) machen nur funktioniert das nicht so ganz wie ich das will
C++: |
unsigned char * num; num = (unsigned char*)malloc(16); BN_bn2bin(e,num); //BIGNUM to BIN
int y; for(y=0; y<16; y++) printf("BIN ? : %0x08\n", num[y]); printf("BIN 2 %i\n", num[y]); printf("BIN 3 %c\n", num[y]);
|
da kommen dann so sachen raus wie
dc019d0114016101dc019d0114016101101001001001001001001001
irgendwie blick ich da nicht ganz durch
hier ist ne erklärung für die bn2bin funktion www.openssl.org/docs/crypto/BN_bn2bin.html das sollte doch eigentlich ne binärzahl von meinem e ausgeben ?
und so ist die funktion im quellcode aus
C++: |
int BN_bn2bin(const BIGNUM *a, unsigned char *to) { int n,i; BN_ULONG l;
n=i=BN_num_bytes(a); while (i-- > 0) { l=a->d[i/BN_BYTES]; *(to++)=(unsigned char)(l>>(8*(i%BN_BYTES)))&0xff; } return(n); }
|
Dieser Post wurde am 24.12.2008 um 10:45 Uhr von michik editiert. |