diff options
| author | tedu <> | 2012-09-04 22:16:17 +0000 |
|---|---|---|
| committer | tedu <> | 2012-09-04 22:16:17 +0000 |
| commit | fd848004eacbc45902b2f55676ab7eea17edd3fd (patch) | |
| tree | 36c23aca26d39ad649e7dd6c5ff49f30bce41265 /src | |
| parent | 0ef86e6ffeabadbf254888f96aa08ee56ba8974b (diff) | |
| download | openbsd-fd848004eacbc45902b2f55676ab7eea17edd3fd.tar.gz openbsd-fd848004eacbc45902b2f55676ab7eea17edd3fd.tar.bz2 openbsd-fd848004eacbc45902b2f55676ab7eea17edd3fd.zip | |
arc4random_buf is the easy way to fill a buffer now. ok deraadt
Diffstat (limited to '')
| -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; |
