HashPassword($pass) [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 13 mars 2019
Statut
Membre
Dernière intervention
14 juillet 2020
-
 Napyduchemin -
salut
soit le code suivant:
<?php 
/**************************************


*
**       FICHIER DE CONFIGURATION******************************************/// clé de cryptage define("SALT","ate84");// Informations de la base de données.define("HOST","localhost");define("DBNAME","hypernapy");define("USER","root");define("PWD","");// répertoire de téléchargementdefine ("UPLOAD",'img/produits/');

..............................................................................................................................

<?php 

/**


* Gestion de la base de données*/class Db{  private $host=HOST; private $name=DBNAME; private $user=USER; private $pass=PWD; private $connexion; function __construct($host=null,$name=null,$user=null,$pass=null){    if($host != null){   $this->host = $host;   $this->name = $name;   $this->user = $user;   $this->pass = $pass;  }  try{   $this->connexion = new PDO('mysql:host='.$this->host.';dbname='.$this->name,    $this->user,$this->pass,array(     1002 =>'SET NAMES UTF8',     PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING     ));   $this->connexion->exec('SET NAMES utf8');//PDO::MYSQL_ATTR_INIT_COMMAND   }catch (PDOException $e){   //echo 'Erreur : Impossible de se connecter  à la BD !';die();   echo $e->getMessage();  } } /* requete */ public function query($sql , $data=array()){  $req = $this->connexion->prepare($sql);  $req->execute($data);  return $req->fetchAll(PDO::FETCH_OBJ);  } public function tquery($sql , $data=array()){  $req = $this->connexion->prepare($sql);  $req->execute($data);  return $req->fetchAll(PDO::FETCH_ASSOC);  } public function insert($sql , $data=array()){  $req = $this->connexion->prepare($sql);  $nb=$req->execute($data);  return $nb; } public function uniqueEmail($email){  $req = $this->connexion->prepare('SELECT count(*) as nbre from users WHERE email=:email limit 1');  $req->execute(array('email'=>$email));  $reponse = $req->fetchAll(PDO::FETCH_ASSOC);  return $reponse[0]['nbre']; }}


...................................................................................................................................................

<?php 

/**


* Auth*/class Auth{  public static function islog($db){  if(isset($_SESSION['user']) && isset($_SESSION['user']['email']) &&  isset($_SESSION['user']['password'])){   $data =array(    'email'=>$_SESSION['user']['email'],    'password'=>$_SESSION['user']['password']    );   $sql = 'SELECT * FROM users WHERE email=:email AND password=:password limit 1';   $req = $db->tquery($sql,$data);   if(!empty($req)){    return true;   }  }  return false; } public static function hashPassword($pass){  return sha1(SALT.md5($pass.SALT).sha1(SALT)); } public static function isadmin($db){  if(isset($_SESSION['user']['role']) && (Auth::hashPassword('admin')  == $_SESSION['user']['role'])){   return true;  }  return false; }}


..............................................................
Ma question:
En choisisant "topsecret" comme mot de passe comment l'écrira t-on avec le hashage define("SALT","ate84"); je ne parviens pas à accéder à ma bdd en local

Merci pour votre soutien

4 réponses

Messages postés
11558
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juillet 2020
659
bonjour, as-tu essayé
echo hashPassword("topsecret");
?
non....
en fait je voudrais créer un mot de passe hasher avec la fonction hashPassword() en utilisant le code suivant
   public static function hashPassword($pass){

  return sha1(SALT.md5($pass.SALT).sha1(SALT));
 }
je ne me retrouve pas. Pourtant, je crée des mots de passes avec ce code-ci: 
<code><?php
$mainpass ="misericorde";

$md5pass = md5($mainpass);
$sha1pass = sha1($md5pass);
$cryptpass = crypt($sha1pass,ate84);


echo"$cryptpass <br />";

?>


mon soucis je voudrais apprendre comment hasher un mot de passe avec la fonction hashPassword() , le manuel php n'est pas très précis merci de votre aide
Messages postés
11558
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 juillet 2020
659
    pourquoi ne pas utiliser plutôt ceci:  https://www.php.net/manual/fr/function.password-hash.php ?    

sinon:
comment hasher un mot de passe avec la fonction hashPassword():
$motdepassehashe = hashPassword($motdepasseenclair);
Bsr
Je vais essayer et de te donner la suite
Messages postés
28958
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 juillet 2020
2 617
Bonjour yg_be,
Pour utiliser la fonction il faut utiliser la class
soit :
$Auth = new Auth();
$motdepassehashe = $Auth->hashPassword("topsecret");


Soit :
$motdepassehashe = Auth::hashPassword("topsecret");

Merciiii! Ça fonctionne