summaryrefslogtreecommitdiff
path: root/libbb/crypt_make_salt.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-07-20 21:28:41 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-07-20 21:28:41 +0000
commit21d1014b5b91d1a1319273945291b7a9f4717827 (patch)
treeb84eadba35d31f923ef62579652e4e5d76678c38 /libbb/crypt_make_salt.c
parent2f6ae43b9c74d393a139007377895e8c50b8af9a (diff)
downloadbusybox-w32-21d1014b5b91d1a1319273945291b7a9f4717827.tar.gz
busybox-w32-21d1014b5b91d1a1319273945291b7a9f4717827.tar.bz2
busybox-w32-21d1014b5b91d1a1319273945291b7a9f4717827.zip
chpasswd: new applet by Alexander Shishkin <virtuoso@slind.org>
Diffstat (limited to 'libbb/crypt_make_salt.c')
-rw-r--r--libbb/crypt_make_salt.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libbb/crypt_make_salt.c b/libbb/crypt_make_salt.c
index 12e96328f..ebdf02420 100644
--- a/libbb/crypt_make_salt.c
+++ b/libbb/crypt_make_salt.c
@@ -24,12 +24,9 @@ static int i64c(int i)
24 return ('a' - 38 + i); 24 return ('a' - 38 + i);
25} 25}
26 26
27 27int crypt_make_salt(char *p, int cnt, int x)
28void crypt_make_salt(char *p, int cnt)
29{ 28{
30 unsigned x = x; /* it's pointless to initialize it anyway :) */ 29 x += getpid() + time(NULL);
31
32 x += getpid() + time(NULL) + clock();
33 do { 30 do {
34 /* x = (x*1664525 + 1013904223) % 2^32 generator is lame 31 /* x = (x*1664525 + 1013904223) % 2^32 generator is lame
35 * (low-order bit is not "random", etc...), 32 * (low-order bit is not "random", etc...),
@@ -44,5 +41,5 @@ void crypt_make_salt(char *p, int cnt)
44 *p++ = i64c(x >> 22); 41 *p++ = i64c(x >> 22);
45 } while (--cnt); 42 } while (--cnt);
46 *p = '\0'; 43 *p = '\0';
44 return x;
47} 45}
48