summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ferrara <ircmaxell@gmail.com>2012-09-17 18:07:37 -0400
committerAnthony Ferrara <ircmaxell@gmail.com>2012-09-17 18:07:37 -0400
commitd0aae83fb03411f4ef759903417f418550d4ff08 (patch)
tree27b9fcf84ad9d67beda1506a73164e150bf7e62b
parent73348cf8c4bfb52836ef2dc59489120f5d2bf3cd (diff)
downloadpassword_compat-d0aae83fb03411f4ef759903417f418550d4ff08.zip
password_compat-d0aae83fb03411f4ef759903417f418550d4ff08.tar.gz
password_compat-d0aae83fb03411f4ef759903417f418550d4ff08.tar.bz2
Fix bug with fallback randomness when using a partial generated salt
-rw-r--r--lib/password.php5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/password.php b/lib/password.php
index 7c78937..0cd946d 100644
--- a/lib/password.php
+++ b/lib/password.php
@@ -118,14 +118,13 @@ if (!defined('PASSWORD_BCRYPT')) {
$bl = strlen($buffer);
for ($i = 0; $i < $raw_length; $i++) {
if ($i < $bl) {
- $buffer ^= chr(mt_rand(0, 255));
+ $buffer[$i] ^= chr(mt_rand(0, 255));
} else {
$buffer .= chr(mt_rand(0, 255));
}
}
}
- $buffer = str_replace('+', '.', base64_encode($buffer));
- $salt = $buffer;
+ $salt = str_replace('+', '.', base64_encode($buffer));
}
$salt = substr($salt, 0, $required_salt_len);