HashPassword($pass)
Résolu
janyduchemin
Messages postés
37
Statut
Membre
-
Napyduchemin -
Napyduchemin -
salut
soit le code suivant:
..............................................................................................................................
...................................................................................................................................................
..............................................................
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
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 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
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 suivantpublic 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-
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);
-
-
-
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");