Derby uses float values here
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* crypt.c
* Copyright (C) 2008 Markus Broeker
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <crypt.h>
#define GETRANDOM(max) ('a'+(int)((float)(max)*rand()/RAND_MAX+1.0))
int main (int argc, char **argv)
{
char salt[12] = { 0 };
if (argc != 2) {
printf ("Usage: %s <plaintext>\n", argv[0]);
return EXIT_FAILURE;
}
srand (time (NULL));
sprintf (salt, "$1$%c%c%c%c%c%c%c%c",
GETRANDOM (26), GETRANDOM (26),
GETRANDOM (26), GETRANDOM (26), GETRANDOM (26), GETRANDOM (26), GETRANDOM (26), GETRANDOM (26));
printf ("%s\n", crypt (argv[1], salt));
return EXIT_SUCCESS;
}