Library written in C for encoding and decoding data using base32 or base64 according to RFC-4648
- GCC or Clang
- CMake
$ git clone https://github.com/paolostivanin/libbaseencode.git
$ cd libbaseencode
$ mkdir build && cd $_
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
$ make
# make install
char *b32_encoded = base32_encode(unsigned char *input, size_t input_length, baseencode_error_t *err);
unsigned char *b32_decoded = base32_decode(char *input, size_t input_length, baseencode_error_t *err);
char *b64_encoded = base64_encode(unsigned char *input, size_t input_length, baseencode_error_t *err);
unsigned char *b64_decoded = base64_decode(char *input, size_t input_length, baseencode_error_t *err);
Please note that all the returned value must be freed once not needed any more.
In case of errors, NULL
is returned and err
is set to either one of:
INVALID_INPUT, EMPTY_STRING, INPUT_TOO_BIG, INVALID_B32_DATA, INVALID_B64_DATA, MEMORY_ALLOCATION,
otherwise, err
is set to SUCCESS