# HG changeset patch # User Markus Bröker # Date 1239878951 -7200 # Node ID 9b56360ec64e6c292cf6d04a666d2a493965b3c8 # Parent c95a6a7e305cdd2e8dff72f06bb956c58e42fb5f crypt extended committer: Markus Bröker diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -120,7 +120,7 @@ crypt: crypt.o @echo Linking $< ... - @$(CC) $(CFLAGS) -o $@ $< + @$(CC) $(CFLAGS) -o $@ $< -lcrypt tokenpasting: tokenpasting.o @echo Linking $< ... diff --git a/crypt.c b/crypt.c --- a/crypt.c +++ b/crypt.c @@ -5,33 +5,24 @@ #include #include -#include +#include +#include + +#define GETRANDOM(max) ('a'+(int)((float)max*rand()/RAND_MAX+1.0)) int main (int argc, char **argv) { - char *data; - - int i; + char salt[20] = { 0 }; if (argc != 2) { - printf ("Usage: %s \n", argv[0]); - return EXIT_SUCCESS; + printf ("Usage: %s \n", argv[0]); + return EXIT_FAILURE; } - /* - * Its already allocated - */ - data = argv[1]; - - for (i = 0; data[i]; i++) - data[i] = data[i] + 1; + srand (time (NULL)); - printf ("EnCrypted Data: %s\n", data); + sprintf (salt, "$1$%c%c", GETRANDOM (26), GETRANDOM (26)); - for (i = 0; data[i]; i++) - data[i] = data[i] - 1; - - printf ("DeCrypted Data: %s\n", data); - + printf ("%s\n", crypt (argv[1], salt)); return EXIT_SUCCESS; }