decrypt.c 879 Bytes
#include <mcrypt.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>

#include "token/cclass.h"
#include "token/crypt.h"
#include "base64.h"


int
main(int argc, char * argv[])
{
    char b64d[] = "J4rYV+oJ9+EzoyLy/o8aolRSw51DzDhTyeht/tcdUA6hNNxaVFrW/FXVTfWXzkZgW1oc1D2vwkfQ80PD+iWzcw";
    char pass[] = "1234";
    char * data      = NULL;
    char * decrypted = NULL;
    size_t length = strlen(b64d);

    struct CRYPT * crypt = NULL;
    
    data = calloc(length, sizeof(char));
    base64_decode(b64d, length, data, &length);

    data = realloc(data, length + 1);
    data[length] = '\0';

    crypt = new(CRYPT, MCRYPT_RIJNDAEL_256, MCRYPT_CFB);
    decrypted = crypt_decrypt(crypt, data, pass, &length);
    delete(crypt);
    free(data);

    printf("%s\n", decrypted);
    free(decrypted);

    return 0;
}

// vim: set et ts=4 sw=4: