@ -43,22 +43,19 @@ function auth_spip_dist($login, $pass, $serveur = '', $phpauth = false) {
$shapass = $pass_hash_next = "";
if ($pass) {
$row = sql_fetsel("alea_actuel, alea_futur ", "spip_auteurs", "login=" . sql_quote($login, $serveur, 'text'), '', '',
$row = sql_fetsel("* ", "spip_auteurs", "login=" . sql_quote($login, $serveur, 'text') . " AND statut< >'5poubelle'" , '', '',
'', '', $serveur);
if ($row) {
include_spip('auth/sha256.inc');
$pass_poivre = hash_hmac("sha256", $pass, $GLOBALS['cle_secrete']);
$pass_hash_next = password_hash($pass_poivre, PASSWORD_BCRYP T, ['salt' => $row['alea_futur']]);
$pass_hash_next = password_hash($pass_poivre, PASSWORD_DEFAUL T, ['salt' => $row['alea_futur']]);
$shapass = spip_sha256($row['alea_actuel'] . $pass);
$md5pass = md5($row['alea_actuel'] . $pass);
}
} else {
return array();
}
$row = sql_fetsel("*", "spip_auteurs",
"login=" . sql_quote($login, $serveur, 'text') . " AND statut< >'5poubelle'", '', '', '', '', $serveur);
switch ( strlen($row["pass"]) ) {
case 32:
@ -70,6 +67,9 @@ function auth_spip_dist($login, $pass, $serveur = '', $phpauth = false) {
case 64:
if ( $row["pass"] != $shapass ) unset($row);
break;
case 98:
if ( ! password_verify($pass_poivre, $row["pass"]) ) unset($row);
break;
default:
unset($row);
}
@ -278,7 +278,7 @@ function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') {
$alea_actuel = creer_uniqid();
$alea_futur = creer_uniqid();
$pass_poivre = hash_hmac("sha256", $new_pass, $GLOBALS['cle_secrete']);
$pass = password_hash($pass_poivre, PASSWORD_BCRYP T, ['salt' => $alea_actuel]);
$pass = password_hash($pass_poivre, PASSWORD_DEFAUL T, ['salt' => $alea_actuel]);
$c['pass'] = $pass;
$c['htpass'] = $htpass;