My Project
Functions
Base Encoding

Functions

int Base64_Decode (const byte *in, word32 inLen, byte *out, word32 *outLen)
 This function decodes the given Base64 encoded input, in, and stores the result in the output buffer out. It also sets the size written to the output buffer in the variable outLen. More...
 
int Base64_Encode (const byte *in, word32 inLen, byte *out, word32 *outLen)
 This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with the traditional ‘
’ line endings, instead of escaped %0A line endings. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer. More...
 
int Base64_EncodeEsc (const byte *in, word32 inLen, byte *out, word32 *outLen)
 This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with %0A escaped line endings instead of ‘
’ line endings. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer. More...
 
int Base64_Encode_NoNl (const byte *in, word32 inLen, byte *out, word32 *outLen)
 This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with no new lines. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer. More...
 
int Base16_Decode (const byte *in, word32 inLen, byte *out, word32 *outLen)
 This function decodes the given Base16 encoded input, in, and stores the result in the output buffer out. It also sets the size written to the output buffer in the variable outLen. More...
 
int Base16_Encode (const byte *in, word32 inLen, byte *out, word32 *outLen)
 Encode input to base16 output. More...
 

Detailed Description

Function Documentation

◆ Base16_Decode()

int Base16_Decode ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

This function decodes the given Base16 encoded input, in, and stores the result in the output buffer out. It also sets the size written to the output buffer in the variable outLen.

Returns
0 Returned upon successfully decoding the Base16 encoded input
BAD_FUNC_ARG Returned if the output buffer is too small to store the decoded input or if the input length is not a multiple of two
ASN_INPUT_E Returned if a character in the input buffer falls outside of the Base16 range ([0-9A-F])
Parameters
inpointer to the input buffer to decode
inLenlength of the input buffer to decode
outpointer to the output buffer in which to store the decoded message
outLenpointer to the length of the output buffer. Updated with the bytes written at the end of the function call

Example

byte encoded[] = { // initialize text to decode };
byte decoded[sizeof(encoded)];
int outLen = sizeof(decoded);
if( Base16_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
// error decoding input buffer
}
int Base16_Decode(const byte *in, word32 inLen, byte *out, word32 *outLen)
This function decodes the given Base16 encoded input, in, and stores the result in the output buffer ...
See also
Base64_Encode
Base64_Decode
Base16_Encode

◆ Base16_Encode()

int Base16_Encode ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

Encode input to base16 output.

Returns
0 Success
BAD_FUNC_ARG Returns if in, out, or outLen is null or if outLen is less than 2 times inLen plus 1.
Parameters
inPointer to input buffer to be encoded.
inLenLength of input buffer.
outPointer to output buffer.
outLenLength of output buffer. Is set to len of encoded output.

Example

byte in[] = { // Contents of something to be encoded };
byte out[NECESSARY_OUTPUT_SIZE];
word32 outSz = sizeof(out);
if(Base16_Encode(in, sizeof(in), out, &outSz) != 0)
{
// Handle encode error
}
int Base16_Encode(const byte *in, word32 inLen, byte *out, word32 *outLen)
Encode input to base16 output.
See also
Base64_Encode
Base64_Decode
Base16_Decode

◆ Base64_Decode()

int Base64_Decode ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

This function decodes the given Base64 encoded input, in, and stores the result in the output buffer out. It also sets the size written to the output buffer in the variable outLen.

Returns
0 Returned upon successfully decoding the Base64 encoded input
BAD_FUNC_ARG Returned if the output buffer is too small to store the decoded input
ASN_INPUT_E Returned if a character in the input buffer falls outside of the Base64 range ([A-Za-z0-9+/=]) or if there is an invalid line ending in the Base64 encoded input
Parameters
inpointer to the input buffer to decode
inLenlength of the input buffer to decode
outpointer to the output buffer in which to store the decoded message
outLenpointer to the length of the output buffer. Updated with the bytes written at the end of the function call

Example

byte encoded[] = { // initialize text to decode };
byte decoded[sizeof(encoded)];
// requires at least (sizeof(encoded) * 3 + 3) / 4 room
int outLen = sizeof(decoded);
if( Base64_Decode(encoded,sizeof(encoded), decoded, &outLen) != 0 ) {
// error decoding input buffer
}
int Base64_Decode(const byte *in, word32 inLen, byte *out, word32 *outLen)
This function decodes the given Base64 encoded input, in, and stores the result in the output buffer ...
See also
Base64_Encode
Base16_Decode

◆ Base64_Encode()

int Base64_Encode ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with the traditional ‘
’ line endings, instead of escaped %0A line endings. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer.

Returns
0 Returned upon successfully decoding the Base64 encoded input
BAD_FUNC_ARG Returned if the output buffer is too small to store the encoded input
BUFFER_E Returned if the output buffer runs out of room while encoding
Parameters
inpointer to the input buffer to encode
inLenlength of the input buffer to encode
outpointer to the output buffer in which to store the encoded message
outLenpointer to the length of the output buffer in which to store the encoded message

Example

byte plain[] = { // initialize text to encode };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_Encode(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// error encoding input buffer
}
int Base64_Encode(const byte *in, word32 inLen, byte *out, word32 *outLen)
This function encodes the given input, in, and stores the Base64 encoded result in the output buffer ...
See also
Base64_EncodeEsc
Base64_Decode

◆ Base64_Encode_NoNl()

int Base64_Encode_NoNl ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with no new lines. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer.

Returns
0 Returned upon successfully decoding the Base64 encoded input
BAD_FUNC_ARG Returned if the output buffer is too small to store the encoded input
BUFFER_E Returned if the output buffer runs out of room while encoding
ASN_INPUT_E Returned if there is an error processing the decode on the input message
Parameters
inpointer to the input buffer to encode
inLenlength of the input buffer to encode
outpointer to the output buffer in which to store the encoded message
outLenpointer to the length of the output buffer in which to store the encoded message

Example

byte plain[] = { // initialize text to encode };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_Encode_NoNl(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// error encoding input buffer
}
int Base64_Encode_NoNl(const byte *in, word32 inLen, byte *out, word32 *outLen)
This function encodes the given input, in, and stores the Base64 encoded result in the output buffer ...
See also
Base64_Encode
Base64_Decode

◆ Base64_EncodeEsc()

int Base64_EncodeEsc ( const byte *  in,
word32  inLen,
byte *  out,
word32 *  outLen 
)

This function encodes the given input, in, and stores the Base64 encoded result in the output buffer out. It writes the data with %0A escaped line endings instead of ‘
’ line endings. Upon successfully completing, this function also sets outLen to the number of bytes written to the output buffer.

Returns
0 Returned upon successfully decoding the Base64 encoded input
BAD_FUNC_ARG Returned if the output buffer is too small to store the encoded input
BUFFER_E Returned if the output buffer runs out of room while encoding
ASN_INPUT_E Returned if there is an error processing the decode on the input message
Parameters
inpointer to the input buffer to encode
inLenlength of the input buffer to encode
outpointer to the output buffer in which to store the encoded message
outLenpointer to the length of the output buffer in which to store the encoded message

Example

byte plain[] = { // initialize text to encode };
byte encoded[MAX_BUFFER_SIZE];
int outLen = sizeof(encoded);
if( Base64_EncodeEsc(plain, sizeof(plain), encoded, &outLen) != 0 ) {
// error encoding input buffer
}
int Base64_EncodeEsc(const byte *in, word32 inLen, byte *out, word32 *outLen)
This function encodes the given input, in, and stores the Base64 encoded result in the output buffer ...
See also
Base64_Encode
Base64_Decode