#include #include #include int main(int argc, char **argv) { char *str2 = NULL, *str = NULL; int i, n; if (argc < 3) return 1; printf("String=%s\nKey=%s\n\n", argv[1], argv[2]); /* encode */ printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(argv[1], strlen(argv[1]), (u_char**) &str, argv[2]))); printf("Cipher: "); for (i = 0; i < n; i++) printf("%02hhx", str[i]); printf("\n"); /* decode */ printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(str, n, (u_char**) &str2, argv[2]))); printf("Plain: "); for (i = 0; i < n; i++) printf("%c", str2[i]); printf("\n"); printf("\n\n"); if (!strcmp(argv[1], str2)) printf("%s == %s ... Test passed\n", argv[1], str2); else printf("%s != %s ... Test FAILED\n", argv[1], str2); if (str) free(str); if (str2) free(str2); return 0; }