Une solution assez commune pour les mots de passe est quelque chose de ce genre :
Code:
1 2 3 4 5
| $login = 'toto'; // Récupéré du formulaire d'inscription par exemple
$pass = 'titi';
$pass .= hash('sha256',$login);
$pass = hash('sha256',$pass); |
Ainsi ton mot de passe est salé avec un grain de sel dynamique (ici le login). L'exemple est très simple mais peut être complexifié. L'idée générale étant qu'un hacker ayant récupéré et décrypté le hash final ne puisse pas avoir le mot de passe réel.
J'utilise ici sha256 qui est actuellement
considéré comme une des références depuis l'attaque du md5 et du sha1.
Pour finir , il faut être bien conscient que tous ces petites astuces n'ont que peu d'intérêt tant que tous le process d'identification ne se fait pas en ssl puisque qu'entre le client et le serveur le mot de passe va transiter en clair et donc être vulnérable au attaques du type "man in the middle".