#include #include #include "base64.h" void encryptDecrypt(char *input, size_t cl, const char *key, size_t kl, char* out) { for (int i = 0; i < cl; ++i) { out[i] = input[i] ^ key [i % kl]; } } int main(int argc, char** argv) { const char* cipher_b64 = "Oz4rPj0+LDovPiwsKDAtOw=="; size_t cl_64 = strlen(cipher_b64); size_t cl = 0; const char* key = "_"; size_t kl = strlen(key); char* cipher = base64_decode(cipher_b64, cl_64, &cl); char* clear = malloc(cl); memset(clear, '\0', cl); encryptDecrypt(cipher, cl, key, kl, clear); fprintf(stderr, "cleartext: %s\n", clear); free(cipher); free(clear); return 0; }