Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

[php] protéger correctement les mots de passe.


Roi

Messages recommandés

Hello la communauté! 

 

J'ai vu beaucoup de CMS avoir une fâcheuse habitude de "sécuriser" les mots de passe avec ce bon vieux MD5 ou SHA-1, alors oui c'était bien il fut un temps mais nous sommes en 2019, il est temps de passer à autre chose (avec du retard tout de même). 

 

Au lieu d'utiliser MD5 ou SHA-1 qui ne protègent rien, laisser moi vous parler de la fonction password_hash() de PHP entièrement dédiée à ce but de sécuriser les mots de passe. Depuis PHP 7.2 elle embarque un excellent algorithme de hachage, nommé "Argon2". Cet algorithme crée une clé unique à chaque mot de passe, (essayer plusieurs fois avec le même mot de passe, vous verrez que ce n'est jamais la même clé), en plus d'être "récent", cet algorithme offre une bien meilleure sécurité pour vos sites internet. 

 

Je vais rajouter tout de même une petite explication sur la mauvaise utilisation de MD5 et SHA-1. MD5 pour commencer, n'est plus considéré comme sûr depuis plus de 20 ans (1996 !), c'est cette année que des chercheurs ont réussi à trouver des failles dans l'algorithme de MD5, depuis le temps a fait les choses et il n'est plus considéré (de façon définitive) comme sûr depuis 2004 (15 ans !). SHA-1 quant à lui, c'est un historique de la cryptographie, successeur du très connu SHA-0, il a fini comme son aîné, dans les poubelles de la sécurité. SHA-1 c'est un algorithme créé par la NSA (oui l'agence de renseignements américaine MDR), ils ont vite compris qu'il n'était pas assez costaud et qu'il avait lui aussi des failles (les failles de MD5 et SHA-1 sont - dans la forme - les mêmes). Depuis 2010, il n'est plus considéré définitivement comme sûr. 

 

J'espère vous avoir convaincu (pour ceux qui utilisent encore MD5 ou SHA-1 pour les mots de passe), de changer vos habitudes! 

  • J'aime 1
Lien à poster
Partager sur d’autres sites

Sauf que tu oublies que la plus part des personnes ici ne vont pas savoir comment passer du SHA-1 ou MD5 vers le password_hash()

 

Mais sinon merci de l'information et pour la petite culture historique sur ces anciennes méthodes !

 

 

Souvent la moitié de la réponse se trouve dans une question bien posée.

Lien à poster
Partager sur d’autres sites

Ça c'est un autre problème, il y a certaines erreurs trop chiantes pour avoir une solution-miracle. Bien qu'il existe quelques solutions mais elles restent contraignantes. Mais pour vos nouveaux projets, c'est toujours utile d'avoir cette information ;) 

Lien à poster
Partager sur d’autres sites

Il y a 7 heures, Nagamasa a dit :

Sauf que tu oublies que la plus part des personnes ici ne vont pas savoir comment passer du SHA-1 ou MD5 vers le password_hash()

 

Mais sinon merci de l'information et pour la petite culture historique sur ces anciennes méthodes !

Je proposerai peut-être un petit tutoriel pour passer de Sha1 à password_hash, rien de bien compliqué.

Il est vrai que c'est très sécurisé, c'est bien de le rappeler haha !

Développeur

PHP, Python, Java, NodeJS

Lien à poster
Partager sur d’autres sites

  • 8 mois plus tard...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...