-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathATBASHCipher.c
More file actions
46 lines (39 loc) · 848 Bytes
/
ATBASHCipher.c
File metadata and controls
46 lines (39 loc) · 848 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* CrypTools - GitHub
* Friday, 8 February 2019
* ATBASH Cipher C Implementation
*/
/****
Compile with:
$ make
Encrypt with:
$ ./ATBASHCipher < input.txt
****/
#include <stdio.h>
#include <stdlib.h>
// ASCII VALUES LATIN ALPHABET
#define MINCAP 65
#define MAXCAP 90
#define MINLOW 97
#define MAXLOW 122
void encode (char letter);
int main (int argc, const char *argv[]) {
int c = 0;
while ((c = getchar()) != EOF) {
encode(c);
}
printf("\n");
return EXIT_SUCCESS;
}
void encode (char letter) {
int result_letter;
if (letter >= MINCAP && letter <= MAXCAP) {
result_letter = MAXCAP - (letter - 65);
} else if (letter >= MINLOW && letter <= MAXLOW) {
result_letter = MAXLOW - (letter - 97);
} else {
putchar(letter);
return;
}
putchar(result_letter);
}