diff options
Diffstat (limited to 'C/HF/chap8/src/libs')
| -rw-r--r-- | C/HF/chap8/src/libs/encrypt.c | 13 | ||||
| -rw-r--r-- | C/HF/chap8/src/libs/xor.c | 30 |
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++; + } +} + |
