#include #include #include #include // #include "lane_fitter_least_square.h" extern "C" { #include "base64.h" // #include "aes.h" #include "aes_util.h" #include "sha.h" } static void _encode(const void * buffer, size_t bufferSize, void ** output, size_t * outputSize) { char * tmpBuffer = NULL; size_t size = 0; size_t tmpOutputSize = Base64_GetCodeLength(bufferSize); tmpBuffer = (char *)malloc(tmpOutputSize + 1); size = Base64_Encode((const char *)buffer, bufferSize, tmpBuffer); tmpBuffer[size] = 0; *output = tmpBuffer; *outputSize = size; } static void _decode(const std::vector& buffer, std::vector& output) { output.resize(Base64_GetDataLength(buffer.size())); size_t size = Base64_Decode(&buffer[0], buffer.size(), &output[0]); output.resize(size); } int main() { unsigned char in[] = "test key"; unsigned char key[32]; memset(key, 0, 32); sha256(in, strlen((const char *)in), key); printf("sha256\n"); for(int i = 0; i < 32; i++) { printf("%x", key[i]); } std::cout << std::endl; char *output; size_t outputSize; std::vector enc; std::vector out; const char *encrypt = "P37w+VZImNgPEO1RBhJ6RtKl7n6zymIbEG1pReEzghk="; enc.assign(encrypt, encrypt + strlen(encrypt)); _decode(enc, out); printf("base64 decode\n"); std::cout << encrypt << std::endl; for(auto c : out) { printf("%x", c); } std::cout << std::endl; return 0; }