R4x0r3 48 Posté(e) le 18 juillet 2018 Partager Posté(e) le 18 juillet 2018 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. 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. Pour avoir accès à cette image, merci de vous connecter. Comment hasher correctement? Heureusement il existe plusieurs techniques afin de hasher de façon irréversible une chaîne de caractère Pour avoir accès à cette image, merci de vous connecter. 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 ) 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. Pour avoir accès à ce lien, merci de vous connecter. ($chaine étant le mot de passe) Vous pouvez également inverser , supprimer des éléments d'une chaînes de caractères : Pour avoir accès à cette image, merci de vous connecter. 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é . 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 : Pour avoir accès à cette image, merci de vous connecter. 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é ! Si vous avez des questions n'hésitez pas ! function_crypt.php test.php 1 Lien à poster Partager sur d’autres sites Plus d'options de partage...
achrafmaziz 29 Posté(e) le 18 juillet 2018 Partager Posté(e) le 18 juillet 2018 On peut faire un truc du genre, "notre texte est hasher en md5 > puis en sha > puis en md5", déjà c'est quand même dur à trouver. function Hash($texte){ return md5(sha(md5($texte))); } Sinon, merci à toi @R4x0r3 https://facebook.com/achraf.maziz.3 Lien à poster Partager sur d’autres sites Plus d'options de partage...
Don Salamanca 6 Posté(e) le 18 juillet 2018 Partager Posté(e) le 18 juillet 2018 il y a 2 minutes, achrafmaziz a dit : On peut faire un truc du genre, "notre texte est hasher en md5 > puis en sha > puis en md5", déjà c'est quand même dur à trouver. function Hash($texte){ return md5(sha(md5($texte))); } Sinon, merci à toi @R4x0r3 C'est facilement décryptable aussi si quelqu'un arrive à deviner ta méthode de hashage Pour ma part j'utilise une technique de vicieux un peu dans le même genre que @R4x0r3 sauf qu'elle génère plusieurs rand de chiffres, lettres et symboles dans la chaîne de base en plus des autres méthodes de hashage basique déjà présentes, après ça fait mec un peu parano mais c'est absolument inviolable Lien à poster Partager sur d’autres sites Plus d'options de partage...
achrafmaziz 29 Posté(e) le 18 juillet 2018 Partager Posté(e) le 18 juillet 2018 il y a 17 minutes, Don Salamanca a dit : C'est facilement décryptable aussi si quelqu'un arrive à deviner ta méthode de hashage Pour ma part j'utilise une technique de vicieux un peu dans le même genre que @R4x0r3 sauf qu'elle génère plusieurs rand de chiffres, lettres et symboles dans la chaîne de base en plus des autres méthodes de hashage basique déjà présentes, après ça fait mec un peu parano mais c'est absolument inviolable Oué mais quand même, c'est un peu + difficile que celle d'avant, Pour avoir accès à ce lien, merci de vous connecter. Pour avoir accès à ce lien, merci de vous connecter. Pour avoir accès à ce lien, merci de vous connecter. https://facebook.com/achraf.maziz.3 Lien à poster Partager sur d’autres sites Plus d'options de partage...
R4x0r3 48 Posté(e) le 18 juillet 2018 Auteur Partager Posté(e) le 18 juillet 2018 il y a 20 minutes, Kurumi Tokisaki a dit : public function newHash($password = NULL) { $hash = NULL; for($i=0;$i <= strlen($password);$i++) $hash = SHA1(HASH('SHA256',$password.$hash)); return $hash; } avec ceci, il est clairement impossible de réussir a trouver le mot de passe Effectivement là c'est plutôt hasher proprement aha , si tu peux expliquer ton script pour les débutants , ça serait cool ! Lien à poster Partager sur d’autres sites Plus d'options de partage...
Yumi 85 Posté(e) le 19 juillet 2018 Partager Posté(e) le 19 juillet 2018 Salut, Très bon tuto, j'espère qu'il sera utile ! - Rick Lien à poster Partager sur d’autres sites Plus d'options de partage...
Administrateur Narzo 759 Posté(e) le 16 juillet 2019 Administrateur Partager Posté(e) le 16 juillet 2019 Salut R4x0r3 , Ton sujet a été déplacé pour une des deux raisons suivantes : - Ta demande a été résolue. - Ton sujet se trouvait dans la mauvaise catégorie. Ceci est un message automatique. 《⠀⠀Founder of Inshare.fr⠀》 《⠀⠀Baylife moderator⠀》 《⠀⠀Twitch channel moderator⠀》 《⠀⠀French translator Trucksbook.eu⠀》 𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡 ————————————————— ╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲ Lien à poster Partager sur d’autres sites Plus d'options de partage...
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant