diff options
author | tedu <> | 2012-09-04 22:16:17 +0000 |
---|---|---|
committer | tedu <> | 2012-09-04 22:16:17 +0000 |
commit | 3f93ec5cdfa3967126d6c3c46242221568593016 (patch) | |
tree | 36c23aca26d39ad649e7dd6c5ff49f30bce41265 /src | |
parent | 592e4ed6b268e0130d4dec902291bd4bb776e54a (diff) | |
download | openbsd-3f93ec5cdfa3967126d6c3c46242221568593016.tar.gz openbsd-3f93ec5cdfa3967126d6c3c46242221568593016.tar.bz2 openbsd-3f93ec5cdfa3967126d6c3c46242221568593016.zip |
arc4random_buf is the easy way to fill a buffer now. ok deraadt
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libc/crypt/bcrypt.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/lib/libc/crypt/bcrypt.c b/src/lib/libc/crypt/bcrypt.c index 207e76ea46..e76f277718 100644 --- a/src/lib/libc/crypt/bcrypt.c +++ b/src/lib/libc/crypt/bcrypt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: bcrypt.c,v 1.24 2008/04/02 19:54:05 millert Exp $ */ | 1 | /* $OpenBSD: bcrypt.c,v 1.25 2012/09/04 22:16:17 tedu Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> | 4 | * Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> |
@@ -148,15 +148,8 @@ char * | |||
148 | bcrypt_gensalt(u_int8_t log_rounds) | 148 | bcrypt_gensalt(u_int8_t log_rounds) |
149 | { | 149 | { |
150 | u_int8_t csalt[BCRYPT_MAXSALT]; | 150 | u_int8_t csalt[BCRYPT_MAXSALT]; |
151 | u_int16_t i; | 151 | |
152 | u_int32_t seed = 0; | 152 | arc4random_buf(csalt, sizeof(csalt)); |
153 | |||
154 | for (i = 0; i < BCRYPT_MAXSALT; i++) { | ||
155 | if (i % 4 == 0) | ||
156 | seed = arc4random(); | ||
157 | csalt[i] = seed & 0xff; | ||
158 | seed = seed >> 8; | ||
159 | } | ||
160 | 153 | ||
161 | if (log_rounds < 4) | 154 | if (log_rounds < 4) |
162 | log_rounds = 4; | 155 | log_rounds = 4; |