Skip to content

jayramafisher/b32.c

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

b32.c

Base32 encode/decode

install

$ clib install jayramafisher/b32.c

usage

#include <b32/b32.h>

or

#include <b32.h>
#include <stdio.h>
#include <string.h>
#include "b32.h"

int
main (void) {
  unsigned char *str = "brian the monkey and bradley the kinkajou are friends";
  char *enc = b32_encode(str, strlen(str));

  printf("%s\n", enc); // MJZGSYLOEB2GQZJANVXW423FPEQGC3TEEBRHEYLENRSXSIDUNBSSA23JNZVWC2TPOUQGC4TFEBTHE2LFNZSHG===

  char *dec = b32_decode(enc, strlen(enc));

  printf("%s\n", dec); // brian the monkey and bradley the kinkajou are friends
  return 0;
}

api

Base32 index table

static const char b32_table[] = {
  'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
  'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
  'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
  'Y', 'Z', '2', '3', '4', '5', '6', '7'
};

Encode unsigned char * source with size_t size. Returns a char * base32 encoded string

char *
b32_encode (const unsigned char *, size_t);

Dencode char * source with size_t size. Returns a unsigned char * base32 decoded string

unsigned char *
b32_decode (const char *, size_t);

license

MIT

About

Base64 encode/decode

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 97.5%
  • Makefile 2.5%