AnCH Framework 0.1
Another C++ Hack Framework
 
Loading...
Searching...
No Matches
anch::crypto::Base64 Class Reference

Base64 algorithm implementation. More...

#include <base64.hpp>

+ Collaboration diagram for anch::crypto::Base64:

Public Member Functions

virtual ~Base64 ()
 

Static Public Member Functions

static void encode (std::istream &data, std::ostream &output, uint8_t options=STD|PADDING) noexcept
 
static std::string encode (std::istream &data, uint8_t options=STD|PADDING) noexcept
 
static void encode (const std::string &data, std::ostream &output, uint8_t options=STD|PADDING) noexcept
 
static std::string encode (const std::string &data, uint8_t options=STD|PADDING) noexcept
 
static void encode (const uint8_t *data, uint64_t length, std::ostream &output, uint8_t options=STD|PADDING) noexcept
 
static std::string encode (const uint8_t *data, uint64_t length, uint8_t options=STD|PADDING) noexcept
 
static void encodeURI (std::istream &data, std::ostream &output) noexcept
 
static std::string encodeURI (std::istream &data) noexcept
 
static void encodeURI (const std::string &data, std::ostream &output) noexcept
 
static std::string encodeURI (const std::string &data) noexcept
 
static void encodeURI (const uint8_t *data, uint64_t length, std::ostream &output) noexcept
 
static std::string encodeURI (const uint8_t *data, uint64_t length) noexcept
 
static void decode (std::istream &data, std::ostream &output, uint8_t options=STD|PADDING)
 
static std::string decode (std::istream &data, uint8_t options=STD|PADDING)
 
static void decode (const std::string &data, std::ostream &output, uint8_t options=STD|PADDING)
 
static std::string decode (const std::string &data, uint8_t options=STD|PADDING)
 
static void decode (const char *data, uint64_t length, std::ostream &output, uint8_t options=STD|PADDING)
 
static std::string decode (const char *data, uint64_t length, uint8_t options=STD|PADDING)
 
static void decodeURI (std::istream &data, std::ostream &output)
 
static std::string decodeURI (std::istream &data)
 
static void decodeURI (const std::string &data, std::ostream &output)
 
static std::string decodeURI (const std::string &data)
 
static void decodeURI (const char *data, uint64_t length, std::ostream &output)
 
static std::string decodeURI (const char *data, uint64_t length)
 

Static Public Attributes

static const uint8_t STD
 
static const uint8_t URL
 
static const uint8_t PADDING
 
static const uint8_t NOPADDING
 

Detailed Description

Base64 algorithm implementation.

Base64 is a common algorithm to encode binary data into text.

Since
0.1
Author
Vincent Lachenal

Constructor & Destructor Documentation

◆ ~Base64()

virtual anch::crypto::Base64::~Base64 ( )
virtual

Base64 destructor

Member Function Documentation

◆ decode() [1/6]

static void anch::crypto::Base64::decode ( const char * data,
uint64_t length,
std::ostream & output,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data bytes to decode
lengththe data length
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ decode() [2/6]

static std::string anch::crypto::Base64::decode ( const char * data,
uint64_t length,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data bytes to decode
lengththe data length
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decode() [3/6]

static void anch::crypto::Base64::decode ( const std::string & data,
std::ostream & output,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data string to decode
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ decode() [4/6]

static std::string anch::crypto::Base64::decode ( const std::string & data,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data string to decode
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decode() [5/6]

static void anch::crypto::Base64::decode ( std::istream & data,
std::ostream & output,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data stream to decode
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ decode() [6/6]

static std::string anch::crypto::Base64::decode ( std::istream & data,
uint8_t options = STD|PADDING )
static

Decode data in base64.

Parameters
datathe data stream to decode
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [1/6]

static std::string anch::crypto::Base64::decodeURI ( const char * data,
uint64_t length )
static

Decode data in base64.

Parameters
datathe data bytes to decode
lengththe data length
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [2/6]

static void anch::crypto::Base64::decodeURI ( const char * data,
uint64_t length,
std::ostream & output )
static

Decode data in base64.

Parameters
datathe data bytes to decode
lengththe data length
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [3/6]

static std::string anch::crypto::Base64::decodeURI ( const std::string & data)
static

Decode data in base64.

Parameters
datathe data string to decode
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [4/6]

static void anch::crypto::Base64::decodeURI ( const std::string & data,
std::ostream & output )
static

Decode data in base64.

Parameters
datathe data string to decode
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [5/6]

static std::string anch::crypto::Base64::decodeURI ( std::istream & data)
static

Decode data in base64.

Parameters
datathe data stream to decode
Returns
the base64 decoded data
Exceptions
std::bad_castinvalid base 64 stream

◆ decodeURI() [6/6]

static void anch::crypto::Base64::decodeURI ( std::istream & data,
std::ostream & output )
static

Decode data in base64.

Parameters
datathe data stream to decode
outputthe stream to write in
Exceptions
std::bad_castinvalid base 64 stream

◆ encode() [1/6]

static void anch::crypto::Base64::encode ( const std::string & data,
std::ostream & output,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data string to encode
outputthe stream to write in
optionsthe encoding options

◆ encode() [2/6]

static std::string anch::crypto::Base64::encode ( const std::string & data,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data string to encode
optionsthe encoding options
Returns
the base64 encoded data

◆ encode() [3/6]

static void anch::crypto::Base64::encode ( const uint8_t * data,
uint64_t length,
std::ostream & output,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data bytes to encode
lengththe data length
outputthe stream to write in
optionsthe encoding options

◆ encode() [4/6]

static std::string anch::crypto::Base64::encode ( const uint8_t * data,
uint64_t length,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data bytes to encode
lengththe data length
optionsthe encoding options
Returns
the base64 encoded data

◆ encode() [5/6]

static void anch::crypto::Base64::encode ( std::istream & data,
std::ostream & output,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data stream to encode
outputthe stream to write in
optionsthe encoding options

◆ encode() [6/6]

static std::string anch::crypto::Base64::encode ( std::istream & data,
uint8_t options = STD|PADDING )
staticnoexcept

Encode data in base64.

Parameters
datathe data stream to encode
optionsthe encoding options
Returns
the base64 encoded data

◆ encodeURI() [1/6]

static std::string anch::crypto::Base64::encodeURI ( const std::string & data)
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data string to encode
Returns
the base64 encoded data

◆ encodeURI() [2/6]

static void anch::crypto::Base64::encodeURI ( const std::string & data,
std::ostream & output )
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data string to encode
outputthe stream to write in

◆ encodeURI() [3/6]

static std::string anch::crypto::Base64::encodeURI ( const uint8_t * data,
uint64_t length )
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data bytes to encode
lengththe data length
Returns
the base64 encoded data

◆ encodeURI() [4/6]

static void anch::crypto::Base64::encodeURI ( const uint8_t * data,
uint64_t length,
std::ostream & output )
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data bytes to encode
lengththe data length
outputthe stream to write in

◆ encodeURI() [5/6]

static std::string anch::crypto::Base64::encodeURI ( std::istream & data)
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data stream to encode
Returns
the base64 encoded data

◆ encodeURI() [6/6]

static void anch::crypto::Base64::encodeURI ( std::istream & data,
std::ostream & output )
staticnoexcept

Encode data in base64 URI.

Parameters
datathe data stream to encode
outputthe stream to write in

Member Data Documentation

◆ NOPADDING

const uint8_t anch::crypto::Base64::NOPADDING
static

Base64 no padding flag

◆ PADDING

const uint8_t anch::crypto::Base64::PADDING
static

Base64 padding with '=' flag

◆ STD

const uint8_t anch::crypto::Base64::STD
static

Base64 classic aplhabet flag

◆ URL

const uint8_t anch::crypto::Base64::URL
static

Base64 URL aplhabet flag


The documentation for this class was generated from the following file: