Je reviens vers vous avec un problème concernant md5.
Souhaitant sécuriser les mots de passe sur ma base de donnée, je suis tomber sur une reflexion qui parlait de les crypter grâce à md5 et mieux, de rajouter un "grain de sel" afin de rendre un décryptage encore plus difficile.
Pour mon cas, lorsque j'enregistre un hypothétique annonceur, je lui génère un mot de passe aléatoirement via ce qui suit:
$cars="az0erty2ui3op4qs5df6gh7jk8lm9wxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN";
$wlong=strlen($cars);
$wpas="";
$taille=8;
srand((double)microtime()*1000000);
for($i=0;$i<$taille;$i++){
$wpos=rand(0,$wlong-1);
$wpas=$wpas.substr($cars,$wpos,1);
}
Ensuite, sur la feuille qui enregistre les données que j'ai pu rentrer sur l'annonceur, j'utilise ceci:
$chiffre="0123456789";
$wlong2=strlen($chiffre);
$grain_sel="";
$taille2=8;
srand((double)microtime()*1000000);
for($i=0;$i<$taille2;$i++){
$wpos2=rand(0,$wlong2-1);
$grain_sel=$grain_sel.substr($chiffre,$wpos2,1);
}
$mdp=md5(($_POST['pwd'])*($grain_sel));
Ainsi, et mon mot de passe et le grain de sel sont générer aléatoirement. Mon mot de passe crypté par md5 est alors la multiplication de ces deux éléments.Mon souci est le suivant:
Quelque soit le mot de passe généré et le grain de sel (qui sont différents), le résultat $mdp est toujours le même. Chose dérangeante puisque chaque mot de passe est alors utilisable par tout le monde.
Quelqu'un aurait'il une idée de ce qui peut se passer?
Merci par avance.