2017-06-16 1 views
0

J'utilise le code PHP suivant pour hacher le mot de passe d'un utilisateur.password_hash() dans PHP

$options = [ 
'cost' => 10, 
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM), 
]; 

$hash = password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options); 

Cette méthode est-elle sûre? Le mot de passe est-il salé?

+3

La documentation [ 'password_hash()'] (http://php.net/manual/en/function .password-hash.php) ** Spécifiquement ** dit ___Ne composez pas votre propre SALT___ Vous ne ferez pas un bon travail comme le fait la fonction sauf si vous êtes un EXPERT cryptograhpique. De plus, la possibilité de créer votre propre SALT est obsolète, (sera bientôt supprimée) alors pourquoi s'embêter à écrire du code qui ne sera pas bientôt disponible! – RiggsFolly

+0

* "Cette méthode est-elle sûre? Le mot de passe est-il salé?" * - Réponse courte: Oui. Réponse plus longue: Consultez les doublons avec lesquels la question a été classée. Si vous n'êtes toujours pas sûr de cela, ne l'utilisez pas et ne mettez pas sur le web. –

+0

Notez que dans PHP 7.0.0, le salage est obsolète * "** Attention ** L'option salt est obsolète depuis PHP 7.0.0 Il est maintenant préférable d'utiliser simplement le sel qui est généré par défaut." * selon http://php.net/manual/fr/function.password-hash.php –

Répondre

0

Dans la plupart des cas, il est préférable d'omettre le paramètre sel. Sans ce paramètre, la fonction générera un sel cryptographiquement sûr, à partir de la source aléatoire du système d'exploitation.

Ref: php.net/manual/en/function.password-hash.php#111620

+0

Bien que correct, c'est une réponse faible. –

+0

Cela a également été cité directement à partir du manuel fourni par l'utilisateur contribué notes http://php.net/manual/fr/function.password-hash.php#111620 - Vous auriez dû l'indiquer. Edit: Ce commentaire par la poste originale https://stackoverflow.com/revisions/44587681/1 –

+0

Alors qu'en est-il du «coût» qui est passé avec le sel? –