28 lines
615 B
C
28 lines
615 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <crypt.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
char clear[32], enc[120], *ptr;
|
|
fgets(&clear, 32, stdin);
|
|
if (!(ptr = strchr(&clear, '\n')))
|
|
return 1;
|
|
else
|
|
*ptr = '\0';
|
|
fgets(&enc, 120, stdin);
|
|
if (!(ptr = strchr(&enc, '\n')))
|
|
return 1;
|
|
else
|
|
*ptr = '\0';
|
|
ptr = crypt(clear, enc);
|
|
if (!strcmp(argv[argc - 1], "-s")) {
|
|
/* Option -s for "show": output the encrypted version. */
|
|
printf("%s\n", ptr);
|
|
return 0;
|
|
}
|
|
/* Otherwise this is a check. */
|
|
else if (!strcmp(ptr, enc))
|
|
return 0;
|
|
return 1;
|
|
}
|