10 char salt
[] = "$1$........";
11 const char *const seedchars
=
12 "./0123456789ABCDEFGHIJKLMNOPQRST"
13 "UVWXYZabcdefghijklmnopqrstuvwxyz";
17 /* Generate a (not very) random seed.
18 You should do it better than this... */
20 seed
[1] = getpid() ^ (seed
[0] >> 14 & 0x30000);
22 /* Turn it into printable characters from `seedchars'. */
23 for (i
= 0; i
< 8; i
++)
24 salt
[3+i
] = seedchars
[(seed
[i
/5] >> (i
%5)*6) & 0x3f];
26 /* Read in the user's password and encrypt it. */
27 password
= crypt(getpass("Password:"), salt
);
29 /* Print the results. */