From 48540940b6c28bb4378abfeb500ec45a625b37b6 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 15 May 2012 10:38:20 +0000 Subject: initial commit git-svn-id: http://svn.miranda-ng.org/main/trunk@2 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/CryptoPP/base16.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 plugins/CryptoPP/base16.h (limited to 'plugins/CryptoPP/base16.h') diff --git a/plugins/CryptoPP/base16.h b/plugins/CryptoPP/base16.h new file mode 100644 index 0000000000..f5f368ebaa --- /dev/null +++ b/plugins/CryptoPP/base16.h @@ -0,0 +1,53 @@ +#ifndef __BASE_16__ +#define __BASE_16__ + +#define BERR 0xFF /* Illegal char marker */ +#define BEOF 0x7F /* EOF marker (padding char or EOL) */ + +typedef unsigned char byte; + +static const byte asciiToBin16[] = + { BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BEOF, BERR, BERR, BEOF, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, BERR, BERR, BERR, BEOF, BERR, BERR, + BERR, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR, + BERR, BERR, BERR, BERR, BERR, BERR, BERR, BERR + }; + +static const byte binToAscii16[] = "0123456789ABCDEF"; + +char *base16encode(const char *, const int); +char *base16decode(const char *, int *); +char *base16decode(const char *); + +#define encode16(data) binToAscii16[data] +#define decode16(data) asciiToBin16[data] + +#endif -- cgit v1.2.3