Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/04/2007, 10h32   #1
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 82
Points : 31
Points : 31
Envoyer un message via MSN à stringman62
Par défaut [Sécurité] MD5 et grain de sel

Bonjour a tous !

Voila, dans ma base de données je conserve :
-les mots de passes concaténés avec un "grain de sel" le tout chiffrer en MD5
-les "grains de sel" en clair

Et je me demandais s'il y avait un moyen qu'a chaque connexion d'un utilisateur son "grain de sel" soit changer (ca c'est possible)mais du fait que le "grain de sel" est modifié, il faut modifier le mot de passe chiffrer en conséquence.Donc, ma question est: est-ce possible? et si ouin comment puis-je procéder?

Bien sur, le mot de passe en clair seul l'utilisateur le sait !

Merci d'avance

Tchô !
stringman62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h37   #2
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
bien sur que c'est possible.
je ne vois pas trop quel peut etre le besoin d'une telle manip', mais si tu as su créer les mdp en md5+grain de sel, tu sauras forcément faire ce que tu demandes...
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h42   #3
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Je dois pas avoir le même décodeur que Azazel, parceque j'ai rien compris >_<.

Tu as pas une version pour les pauvres sans décodeur ? ^_^

[EDIT post-résolu] : Ecorchage du pseudo ^_^
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h44   #4
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 82
Points : 31
Points : 31
Envoyer un message via MSN à stringman62
Excuse moi si je me trompe mais je crois que tu n'as pas compris comment le mot de passe est stocké dans la Base de données :

MD5(MotDePasse.grainDeSel)

Et je suis peut être bête mais j'arrive pas à voir comment je peut faire la manip'

Merci d'avance
stringman62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h52   #5
Membre éclairé
 
Inscription : août 2006
Messages : 379
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : août 2006
Messages : 379
Points : 383
Points : 383
Impossible de décrypter un MD5 sans table de hash...

C'est bien beau de savoir que ton mot de passe est encoder avec quelque chose, mais la seul façon dont ça pourrait t'être utile, c'est lors de l'identification ^_^.

Exemple:
- Une personne s'enregistre avec le mot de passe : bidule
- Tu l'enregistre sous la forme : md5('bidule'.'grain de sel');
- La personne qui se connecte va entrer son mot de passe bidule.
Ici ça ne fonctionne pas, il va y avoir une erreur.
Il faut donc :
- Récupérer le mot de passe de l'utilisateur, et lui ajouter grain de sel. Ensuite encoder le tout en md5(); puis vérifier que ça concorde.

Maintenant tu sais qu'il est le bon utilisateur,
- Tu peux donc récupérer de nouveau le bidule (via $_POST['mdp']) et lui concaténé grain de poivre et l'enregistrer ...

J'vois que ça ... mais j'ai aussi rien compris à ton problème.
SpiritOfDoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h54   #6
Membre habitué
 
Homme
Inscription : octobre 2006
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2006
Messages : 124
Points : 100
Points : 100
il faut que tu fasses la manip coté client

Comme seul lui connait son mot de passe (en clair), il faut lorsqu'il s'identifie que tu lui envoyes le grain de sel n°2 et que tu fasses le md5(mdp + gds2) coté client.
Ensuite tu remplaces le md5(mdp + gds1) par md5(mdp + gds2) (envoyé par le client) dans ta bdd.
bigben99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h55   #7
Membre actif
 
Avatar de Azazel.fr
 
Inscription : mars 2007
Messages : 170
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 170
Points : 177
Points : 177
prenons un exemple :
toto se loggue (toto/titi)

bdd :
-login : toto
-mdp : md5(titi.12345)
-grainDeSel : 12345

donc quand il se loggue, tu prends son login, son mot de passe, tu récupères son grain de sel, tu compares md5(titi.123456) avec ce que tu as en bdd et ça passe.
jusqu'ici, normalement, tout va bien et on est d'accord.

maintenant, si tu veux changer le grain de sel à chaque connexion, il faut le faire apres avoir passer le log :

tu regénères un nouveau grain de sel ($new_grain = rand(100000,99999), puis tu update ta base :

-login : toto // pas d'update
-mdp : md5(titi.98765)
-grainDeSel : 98765

gspr ne pas avoir répondu à coté...
Azazel.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 10h59   #8
Nouveau Membre du Club
 
Inscription : janvier 2006
Messages : 82
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 82
Points : 31
Points : 31
Envoyer un message via MSN à stringman62
Merci a tous avec ces informations je pense pouvoir m'en sortir !

Je sais que c'est pas très explicite mais même moi j'avais du mal a me l'expliquer !

Mais, apparemment vous avez bien compris ce que je voulais faire

Encore merci pour toutes ces infos et bonne continuation a tous !

Tchô
stringman62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h30.


 
 
 
 
Partenaires

Hébergement Web