summaryrefslogtreecommitdiff
path: root/C/HF/chap8/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'C/HF/chap8/src/libs')
-rw-r--r--C/HF/chap8/src/libs/encrypt.c13
-rw-r--r--C/HF/chap8/src/libs/xor.c30
2 files changed, 43 insertions, 0 deletions
diff --git a/C/HF/chap8/src/libs/encrypt.c b/C/HF/chap8/src/libs/encrypt.c
new file mode 100644
index 0000000..d894cfc
--- /dev/null
+++ b/C/HF/chap8/src/libs/encrypt.c
@@ -0,0 +1,13 @@
+#include <libs/encrypt.h>
+
+void encrypt(char *message, encrypt_fn_t encrypt_fn) {
+ encrypt_fn(message);
+}
+
+void encrypt_arr(char *message, encrypt_arr_t fn_arr, int size)
+{
+ int i;
+
+ for (i = 0; i < size; i++)
+ encrypt(message, fn_arr[i]);
+}
diff --git a/C/HF/chap8/src/libs/xor.c b/C/HF/chap8/src/libs/xor.c
new file mode 100644
index 0000000..30286e7
--- /dev/null
+++ b/C/HF/chap8/src/libs/xor.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <libs/xor.h>
+
+void xor16(char *message)
+{
+ printf("Orig: %s\n", message);
+ while (*message) {
+ *message = *message ^ 16;
+ message++;
+ }
+}
+
+void xor42(char *message)
+{
+ printf("Orig: %s\n", message);
+ while (*message) {
+ *message = *message ^ 42;
+ message++;
+ }
+}
+
+void xor64(char *message)
+{
+ printf("Orig: %s\n", message);
+ while (*message) {
+ *message = *message ^ 64;
+ message++;
+ }
+}
+