$rsa = new Crypt_RSA();
$PrivateKey = Bd::GetRsaPrivateKey(CRYPT_NUMRSAKEY);
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$rsa->loadkey($PrivateKey);
$Vue['Message'] = "Veuillez cliquer sur le bouton Valider après avoir saisi les informations du formulaire (* : champs obligatoires)";
$Vue['Message2'] = "";
$Vue['Authentification2'] = false;
$Vue['FormModifierMotDePasseUser'] = fGetLireFichier(DIR_FORMULAIRE . "Form.ModifierMotDePasseUser.inc.php");
if (isset($_POST['AncienMotDePasse'])) {
    $AncienMotDePasse = $rsa->decrypt(base64_decode($_POST['AncienMotDePasse']));
    $NouveauMotDePasse = $rsa->decrypt(base64_decode($_POST['NouveauMotDePasse']));
    $LoginUser = $_SESSION['Login'];
    $Vue['Authentification2'] = Bd::GetMotDePasseCorrect($LoginUser, $AncienMotDePasse);
    if ($Vue['Authentification2']) {
        $GrainDeSel = "";
        while (strlen($GrainDeSel) < 20) {
            $GrainDeSel = $GrainDeSel . substr('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', ceil(rand(1, 62)), 1);
        }
        Bd::SetGrainDeSelUser($LoginUser, $GrainDeSelUser);
        Bd::SetMotDePasseUser($LoginUser, $NouveauMotDePasse);
        $Vue['Message2'] = "Modification du mot de passe reussie !";
    } else {
        $Vue['Message2'] = "Ancien mot de passe incorrect";
    }
}
// =====================================================================================================================================================
// Informations concernant la partie centrale de la page + appel de la vue partielle afin de gérer son affichage
// =====================================================================================================================================================
$Infos['Page']['ContenuAvecEncarts'] = VueUtilisateur::GetXhtmlModificationMotDePasse($Vue);
$_SESSION['Infos'] = $Infos;
$Page = new PageAvecEncartsDroite($Infos);
    }
    $Vue['DateCreationCompte'] = $ResultatAuthentification['DateCreationUser'];
    $Vue['DateDerniereConnexion'] = $ResultatAuthentification['DateDerniereConnexionUser'];
    $Vue['HeureDerniereConnexion'] = $ResultatAuthentification['HeureDerniereConnexionUser'];
    $Vue['NbEchecConnexion'] = $ResultatAuthentification['NbEchecConnexionUser'];
    $Vue['NbTotalConnexion'] = $ResultatAuthentification['NbTotalConnexionUser'];
    Bd::SetDateHeureDerniereConnexion($Login);
    Bd::SetNbEchecConnexion($Login, "reinitialiser");
    Bd::SetNbTotalConnexion($Login);
    $_SESSION['Login'] = $Login;
    $_SESSION['NomPrenom'] = $ResultatAuthentification['NomUser'] . " " . $ResultatAuthentification['PrenomUser'];
    $_SESSION['Type'] = $ResultatAuthentification['LibelleTypeUser'];
    $_SESSION['Sexe'] = $ResultatAuthentification['SexeUser'];
    $GrainDeSel = "";
    while (strlen($GrainDeSel) < 20) {
        $GrainDeSel = $GrainDeSel . substr('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', ceil(rand(1, 62)), 1);
    }
    Bd::SetGrainDeSelUser($Login, $GrainDeSel);
} else {
    $Vue['ResultAuthentification'] = false;
    Bd::SetNbEchecConnexion($Login, "incrementer");
}
// =====================================================================================================================================================
// Informations concernant la partie centrale de la page + appel de la vue partielle afin de gérer son affichage
// =====================================================================================================================================================
$Infos['Page']['ContenuAvecEncarts'] = VueUtilisateur::GetXhtmlAuthentification($Vue);
$_SESSION['Infos'] = $Infos;
// =====================================================================================================================================================
// Création d'une page en lui passant en paramètre le tableau $Infos. Si ce n'est pas fait, une page "standard" sera créée par défaut dans le contrôleur principal
// =====================================================================================================================================================
header("Location: ./Redirection.php?Page=Utilisateur&Action=Authentification");