• Tout email jetable ou temporaire utilisé pour votre compte sur le forum vous serez banni immédiatement !
  • Nous somme de retour, suite à un manque de financement pour l'amélioration des serveur, le forum fonctionne en mode dégrader.

Tutoriel Hasher les mots de passe

iPacked

Membre
Membre
Bonjour à tous !
Partant d'un constat qui est un véritable problème de confidentialité sur certains CMS , j'ai jugé qu'il était pas mal de faire un petit tuto vis à vis du hashage de mot de passe en PHP.
[Hide]

Le hashage c'est quoi?
Le hashage permet de hasher et non crypter comme son nom l'indique une suite de caractère par le biais de plusieurs type de hash (md5 , SHA1 , etc.) , afin que cette suite ne soit pas affichée en clair.

A quoi sert le hashage?
Tout réside dans la confidentialité , l'administrateur du site ne pourras pas voir vos mot de passe en clair via la DB (A moins que celui-ci remonte le processus de hashage , et encore...) Et pareille si un méchant pirate venait à voler la base de donnée , impossible pour lui de voir votre mot de passe.

Actuellement , un certains nombre (trop) de CMS hashe simplement une fois leurs mots de passe , mon dieux mais quelle erreur !
Car en effet il est possible de remonter un hash via un dictionnaire pour cet exemple j'ai hashé le mot "Habbo" avec du MD5 et simplement en mettant le hash dans un outil spécial il me redonne en clair.
frowning2.png


Screenshot_1.png.b4961041a25bc45c5a2b403da0265daa.png


Comment hasher correctement?
Heureusement il existe plusieurs techniques afin de hasher de façon irréversible une chaîne de caractère


Screenshot_2.png.bf50bd646a539ca757d0f33f07b67ba3.png


Voilà un petit script que je vais vous fournir qui permet de hasher et afficher les chaînes de caractères , sur la première ligne le mot de passe hasher en MD5 , sur la seconde la même chaîne mais avec du sel en plus (Je vous expliquerais ce que c'est après , rien à voir avec la cuisine
c8y0tr65-1d9a39.gif
) et la dernière ligne le même mot de passe hashé en MD5 SHA1 et avec d'autres petits trucs que je vais vous expliquer !


Explication :

Le sel permet d'ajouter une chaîne de caractère sur le mot de passe que l'on souhaite fixer par exemple avec le mot de passe "Habbo" ->VoitureHabboChampion , mon sel seras donc Voiture et Champion
1531950150-screenshot-3.png

($chaine étant le mot de passe)

Vous pouvez également inverser , supprimer des éléments d'une chaînes de caractères :
Screenshot_4.png.d65ee6837398382482daa6dd9421ead1.png


Pour vous expliquer rapidement le script , on déclare une fonction (Chiffre_soft) qui récupère la variable $chaine , ensuite on prend la chaine où on ajoute du sel , puis un inverse le sens de la chaîne , puis on hash en MD5 , et on rajoute du sel et on supprime la 16ème lettre du $resultat et le tout qui est re-hashé en SHA1 pour ensuite être retourné
c8y0tr65-1d9a39.gif
.


Et avec une fonction comme ça , déjà c'est vraiment compliqué voir impossible pour un pirate de l'obtenir en clair , et après si vous êtes vraiment vicieux comme moi >:) vous pouvez faire cela :


Screenshot_5.png.798381169ee368691d767b8137a14254.png

[/Hide]​
[Hide]

Maintenant à vous de créer votre propre hashage et l'utiliser dans vos formulaire d'inscription !
Je vous joint donc les deux fichiers afin que vous puissiez voir ça de votre côté
slightsmile.png
!

[/Hide]
 

Lap

Membre
Membre
Intéressant ! Mais la prochaine fois, essaye de préciser de quel langage de programmation tu parles.

Tu peux utiliser :

PHP:
Please, Connexion or S'inscrire to view codes content!
 
Haut