#ifndef __BASE58_H__ #define __BASE58_H__ #include #include #define BASE58_DECODE_BASE 0 #define BASE58_ENCODE_BASE 0 #define BASE58_DECODE_OUT_OF_RANGE 1 void print_array(unsigned char* arr, int len){ int i = 0; for (i=0; i=0;j--) { tmp = output[j] * 256 + c; c = tmp/58; output[j] = tmp%58; } } for(j=0; j=0;j--) { tmp = buf[j] * 58 + c; c = (tmp & (~0xff)) >> 8; buf[j] = tmp & (0xff); } } return BASE58_DECODE_BASE; } #endif /*int main() { //char addr[]="1NQEQ7fkCQQiVKDohBGuE3zSYs7xfDobbg"; char addr[]="Qmaa4Rw81a3a1VEx4LxB7HADUAXvZFhCoRdBzsMZyZmqHD"; //char addr[]="5R1"; //char addr[]="113YAvwi1V9WV9GEykK6XQ1UypmFPhVyh1"; const int addrLen = sizeof(addr)-1; //char addr[]="115R"; //const int addrLen = 4; const int bufLen = 40; char buf[bufLen]; char addr2[addrLen]; memset(buf,0,bufLen); printf("%s in Array[i] \BYTES AS HEX:", addr); print_array(addr,addrLen); printf("DECODED:"); base58Decode(addr, addrLen, buf, bufLen); print_array(buf,bufLen); printf("ENCODED:"); base58Encode(buf, bufLen, addr2, addrLen); print_array(addr2,addrLen); return 0; }*/