summaryrefslogtreecommitdiffstats
path: root/usr.bin/newkey
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2001-03-05 02:15:38 +0000
committerkris <kris@FreeBSD.org>2001-03-05 02:15:38 +0000
commit1854a6d14106223a0c8d065a51f8bfbbd20dcae5 (patch)
tree98d48afd0b291961c0bdf0ab100aedfb8e032d9e /usr.bin/newkey
parent7c6e2c6a5b2280eba5d810524967ee7dc6b5798e (diff)
downloadFreeBSD-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/newkey')
-rw-r--r--usr.bin/newkey/generic.c11
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];
}
}
OpenPOWER on IntegriCloud