diff options
-rw-r--r-- | include/functions_user.inc.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 0ba720167..60bdcd459 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -1133,10 +1133,17 @@ function pwg_password_verify($password, $hash, $user_id=null) { global $conf, $pwg_hasher; - // If the hash is still md5... - if (strlen($hash) <= 32) + // If the password has not been hashed with the current algorithm. + if (strpos('$P', $hash) !== 0) { - $check = ($hash == md5($password)); + if (!empty($conf['pass_convert'])) + { + $check = ($hash == $conf['pass_convert']($password)); + } + else + { + $check = ($hash == md5($password)); + } if ($check and isset($user_id) and !$conf['external_authentification']) { |