C'est la première fois que j'utilise la fonction crypt() en PHP, et je n'arrive pas à comprendre pourquoi ça ne marche pas. Mon code est basé sur cet article: http://www.techrepublic.com/blog/australia/securing-passwords-with-blowfish/1274PHP crypt() Blowfish Fonction ne fonctionne pas
function blowfishHash ($pw) {
//generate random salt
$salt = "$2y$10$";
for ($i = 0; $i < 22; $i++) {
$salt .= substr("./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", mt_rand(0, 63), 1);
}
$hash = crypt($pw, $salt);
//printout to file
$file = fopen("debug.txt", "w+");
fwrite($file, "\n\n\n".$pw);
fwrite($file, "\n\n\n".$salt);
fwrite($file, "\n\n\n".$hash);
fclose($file);
return $hash;
}
J'ai appelé la fonction avec le mot de passe de l'échantillon « mot de passe ».
Le sel résultant était: $2y$10$NzRQNjTRfP4jXKvb4TCO.G
Mais le mot de passe était "$2mV0NZp92R3g"
- ce qui semble beaucoup trop court.
Quelqu'un pourrait m'aider à comprendre ce que je fais mal?
J'ai testé votre exemple et il sort exactement le même que dans l'article. Comment éditer/déboguer le mot de passe $. Sur un site Web? par cli? – hek2mgl
Je viens d'imprimer dans un fichier (j'ai omis les lignes de code pour cela). Existe-t-il une version spécifique de PHP requise pour cette fonction ...? – user1403777
Quelle version utilisez-vous? (J'utilise: 5.3.10-1ubuntu3.4) – hek2mgl