HashPassword($pass)

Résolu/Fermé
janyduchemin Messages postés 36 Date d'inscription mercredi 13 mars 2019 Statut Membre Dernière intervention 6 septembre 2023 - Modifié le 27 juin 2020 à 01:15
 Napyduchemin - 28 juin 2020 à 01:10
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

yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
27 juin 2020 à 07:52
bonjour, as-tu essayé
echo hashPassword("topsecret");
?
0
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
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
Modifié le 27 juin 2020 à 14:47
    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);
0
Bsr
Je vais essayer et de te donner la suite
0
jordane45 Messages postés 38169 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mai 2024 4 663
Modifié le 27 juin 2020 à 23:00
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");
0
Napyduchemin
28 juin 2020 à 01:10
Merciiii! Ça fonctionne
0