# Pastebin Yzv2mu3K size_t base64Encode(const char* data, size_t length, char** result){ size_t lengthOfEncodedData = length*4/3 + (length%3?0:3) + 1; char * encodedData = (unsigned char *)malloc(sizeof(unsigned char)* lengthOfEncodedData); lengthOfEncodedData = EVP_EncodeBlock(encodedData, data, length); // it includes NUL terminator *result = encodedData; return lengthOfEncodedData; }