summaryrefslogtreecommitdiff
path: root/C/HF/chap8/src/ecat.c
diff options
context:
space:
mode:
Diffstat (limited to 'C/HF/chap8/src/ecat.c')
-rw-r--r--C/HF/chap8/src/ecat.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/C/HF/chap8/src/ecat.c b/C/HF/chap8/src/ecat.c
new file mode 100644
index 0000000..9be8a47
--- /dev/null
+++ b/C/HF/chap8/src/ecat.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <libs/xor.h>
+#include <libs/encrypt.h>
+
+int main(int argc, char **argv)
+{
+ FILE *fd;
+ char buf[80];
+
+ char f = '\0';
+
+ encrypt_arr_t fn_arr = {xor16, xor42, xor64};
+ if (argc != 2)
+ return 1;
+
+ printf("Arr size: %ld\n", sizeof(fn_arr) / sizeof(*fn_arr));
+ fd = fopen(argv[1], "r");
+
+ while (fgets(buf, 80, fd)) {
+ encrypt_arr(buf, fn_arr, 3);
+ printf("encrypted message: '%s'", buf);
+ }
+
+ printf("\n");
+
+ printf("%c", (char)(f ^ 16 ^ 42 ^ 64));
+ fclose(fd);
+ return 0;
+}