diff options
author | kris <kris@FreeBSD.org> | 2001-03-05 02:15:38 +0000 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2001-03-05 02:15:38 +0000 |
commit | 1854a6d14106223a0c8d065a51f8bfbbd20dcae5 (patch) | |
tree | 98d48afd0b291961c0bdf0ab100aedfb8e032d9e /usr.bin | |
parent | 7c6e2c6a5b2280eba5d810524967ee7dc6b5798e (diff) | |
download | FreeBSD-src-1854a6d14106223a0c8d065a51f8bfbbd20dcae5.zip FreeBSD-src-1854a6d14106223a0c8d065a51f8bfbbd20dcae5.tar.gz |
Switch from using rand() or random() to a stronger, more appropriate PRNG
(random() or arc4random())
Reviewed by: bde
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/newkey/generic.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/usr.bin/newkey/generic.c b/usr.bin/newkey/generic.c index 4067867..39e40f0 100644 --- a/usr.bin/newkey/generic.c +++ b/usr.bin/newkey/generic.c @@ -57,18 +57,9 @@ getseed(seed, seedsize, pass) unsigned char *pass; { int i; - int rseed; - struct timeval tv; - - (void)gettimeofday(&tv, (struct timezone *)NULL); - rseed = tv.tv_sec + tv.tv_usec; - for (i = 0; i < 8; i++) { - rseed ^= (rseed << 8) | pass[i]; - } - srand(rseed); for (i = 0; i < seedsize; i++) { - seed[i] = (rand() & 0xff) ^ pass[i % 8]; + seed[i] = (arc4random() & 0xff) ^ pass[i % 8]; } } |