From 4401f681d33f534a7d7ef8f4f940bd54b60710c3 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 18 Sep 2022 01:52:26 -0400 Subject: Move stuff around to accommodate new family members. --- xsig/src/base64.hpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 xsig/src/base64.hpp (limited to 'xsig/src/base64.hpp') diff --git a/xsig/src/base64.hpp b/xsig/src/base64.hpp new file mode 100644 index 0000000..70d4e40 --- /dev/null +++ b/xsig/src/base64.hpp @@ -0,0 +1,33 @@ +//Chris Xiong 2022 +//License: MPL-2.0 +#include +#include + +class Base64Encoder +{ +private: + static const char *b64c; + uint8_t counter; + uint8_t rem; + std::string ret; +public: + Base64Encoder(); + void encode_data(const void *data, size_t len); + std::string finalize(); +}; + +class Base64Decoder +{ +private: + static const uint8_t b64v[]; + size_t dlen; + bool invalid; + uint8_t rem; + uint8_t counter; + size_t bp; + std::string s; +public: + Base64Decoder(std::string &&b); + size_t decoded_length(); + size_t decode_data(const void *data, size_t len); +}; -- cgit v1.2.3