Delcedo PHPLib
Manuel

get_crypt

Renvoie la valeur cryptée sur 40 caractères

Description
string get_crypt ( string $sel )
Liste de paramètres
sel

Ajoute un grain de sel à la valeur pour augmenter la complexité du hash obtenu.

Si deux utilisateurs utilisent le même mot de passe, sans grain de sel, ils auraient le même hash. Si une personne s'introduit dans la base de donnée et arrive à obtenir le mot de passe du premier, elle obtiendrait immédiatement celui du deuxième.

C'est pour éviter ce problème que l'on ajoute un grain de sel pour obtenir un hash différent. Il suffit de mettre un paramètre de l'utilisateur (son login par exemple) en grain de sel et le hash sera différent pour les deux utilisateurs.

Exemple
<?php

$mdp 
"$uper_mÔt 2 p@ss!";

$user1 "toto";
$mdp1 = new OString($mdptrue);
echo 
$mdp1->get_crypt($user1); // c116b416943315a3ef6a3ec76140cd78563b08e6

$user2 "titi";
$mdp2 = new OString($mdptrue);

// Bonne utilisation :
if($mdp2->get_crypt($user2) != $mdp1->get_crypt($user1))
  echo 
"je ne sais pas si tu as le même mot de passe que user1...";
else 
// $mdp2->get_crypt($user2) == $mdp1->get_crypt($user1))
  
echo "tu as le même hash, mais... ce n'est pas le même mot de passe...";


// Pourquoi il faut mettre un grain de sel différent :
if($mdp2->get_crypt("") == $mdp1->get_crypt(""))
  echo 
"tu as le même mot de passe que user1 !! je peux donc te pirater";

?>
Valeur de retour
string

La valeur renvoyée est cryptée en utilisant la fonction sha1 et en ajoutant un "grain de sel" augmenter la complexité du cryptage.

Delcedo.com | Creative Commons License