IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] MD5 et grain de sel


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 84
    Points : 63
    Points
    63
    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ô !

  2. #2
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    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...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    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 ^_^

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    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

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    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.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 120
    Points
    120
    Par défaut
    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.

  7. #7
    Membre habitué Avatar de Azazel.fr
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 170
    Points : 196
    Points
    196
    Par défaut
    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é...

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    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ô

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Sécurité] Cryptage et grain de sel
    Par Gwipi dans le forum Langage
    Réponses: 6
    Dernier message: 05/09/2012, 16h13
  2. Hash et graine de sel
    Par Alpha573 dans le forum Langage
    Réponses: 24
    Dernier message: 05/01/2012, 12h08
  3. [ZF 1.10] Grain de sel dans l'insertion
    Par Madfrix dans le forum Zend_Db
    Réponses: 1
    Dernier message: 10/08/2010, 19h03
  4. Protection contre le vol de mot de passe (grain de sel)
    Par remi.gaubert dans le forum Sécurité
    Réponses: 7
    Dernier message: 08/12/2009, 18h52
  5. Grain de sel aléatoire, bonne ou mauvaise pratique ?
    Par Sergejack dans le forum Sécurité
    Réponses: 1
    Dernier message: 13/08/2009, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo