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

avec Java Discussion :

Problème avec un champs crypté en MD5


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut Problème avec un champs crypté en MD5
    Bonsoir,

    Dans le but d'un stage je dois créer un section web qui demande une authentification en hashant le champ de mot de passe cela et mis en place grâce a cette fonction .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    public  String getEncodedPassword(String key) throws NoSuchAlgorithmException {
     
    		MessageDigest md = MessageDigest.getInstance("MD5");
    		md.update(key.getBytes());
    		byte[] md5 = md.digest();
     
    		return md5.toString();
    	}

    ça marche très bien le champ est bien hasher mais le gros souci ^^ c'est que je vois pas comment le comparer avec celui qui est demander en page de login (car lui il est pas hasher il est en clair)

    la piste que j'ai instinctivement suivi ( voir stupidement ) est de hasher à son tour ce mot de passe en clair envoyer par le biais de la page login mais pas de chance ce n'est pas le même donc si quelqu'un pourrai me dire comment faire pour les comparer ou une autre manière de faire.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Bia,

    Ce qui m'étonne surtout, c'est "avec celui qui est demander en page de login (car lui il est pas hasher il est en clair)" !

    C'est ce qu'on peut appeler un trou de sécurité, non ?
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Attends une minute... Si le premier champ que tu as haché ne vient pas de la page de login... Il vient d'où alors ? Pourquoi l'as-tu haché ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Pour enregistré une utilisateur j'ai crée un page register normal sinon je vois pas comment le rajouter dans une base de donnée à part a la main. donc ensuite la personne une fois qu'elle c'est enregistrer elle doit pouvoir se loguer mais dans la page en jsp quand il rentre sont mot passe l'utilisateur ne le rentre pas en hasher mais en clair et c'est la page login qui va le hasher pour le comparer au champ dans la base qui est hasher.

    Et si le mot de passe est hasher c'est parce qu'il m'est demander que dans la base de donné le mot de passe soit hashé. c'est tout !

    Et c'est là que je suis bloquer car je n'arrive pas a comparer les 2 champs hasher car il ne sont pas pareil et donc je cherche un moyen de les dé-hasher pour les comparer.

    vous comprenez mieux.

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Tu ne pourras pas les "dé-hasher", ce n'est pas possible.
    Ce n'est pas le but d'un algorithme de hashage.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    comment je peu faire pour les comparer alors ?


    Ou autre question Comment faire en java pour chiffré un champ et le déchiffré a la volé pour le comparer à un champ entré par un utilisateur ?

    Exemple :

    L'utilisateur toto se crée un compte avec comme mot de passe bonbon
    dans la base de donnée le compte et sous cette forme

    nom mot de passe
    toto @1ti5@1ti5 -> [ bonbon mais chiffré]

    et qu'au moments de se logger la page de login et capable de retrouver le compte et de comparer le mot de passe entre par l'utilisateur et celui chiffré de la base de donnée .

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jchevalay54 Voir le message
    la piste que j'ai instinctivement suivi ( voir stupidement ) est de hasher à son tour ce mot de passe en clair envoyer par le biais de la page login mais pas de chance ce n'est pas le même donc si quelqu'un pourrai me dire comment faire pour les comparer ou une autre manière de faire.
    Que l'on me corrige si je dis une connerie mais c'est le principe normalement.

    Pour de l'authentification, on stocke le mot de passe hashé dans la base de données. A la prochaine authentification, on vérifie le mot de passe courant hashé avec le mot de passe de la BDD (lui aussi hashé).

    Le hashage ne permet donc pas de retrouver le mot de passe d'origine mais le hashage donne la même empreinte pour un même mot de passe (ton comportement n'est donc pas logique).
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    mais dans ce cas là si mon utilisateur entre comme mot de passe bonbon a la création de son compte.

    et qu'a sa premiere authentification il entre b0nb0n sa passe
    en faite n'importe qu'elle mot de passe passerais .

    moi j'aimerais une methode pour que ça fonctionne selon c'est énoncer :

    Exemple :

    L'utilisateur toto se crée un compte avec comme mot de passe bonbon
    dans la base de donnée le compte et sous cette forme

    nom mot de passe
    toto @1ti5@1ti5 -> [ bonbon mais chiffré]

    et qu'au moments de se logger la page de login et capable de retrouver le compte et de comparer le mot de passe entre par l'utilisateur et celui chiffré de la base de donnée .

  9. #9
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jchevalay54 Voir le message
    Exemple :

    L'utilisateur toto se crée un compte avec comme mot de passe bonbon
    dans la base de donnée le compte et sous cette forme

    nom mot de passe
    toto @1ti5@1ti5 -> [ bonbon mais chiffré]

    et qu'au moments de se logger la page de login et capable de retrouver le compte et de comparer le mot de passe entre par l'utilisateur et celui chiffré de la base de donnée .
    Bah c'est la méthode que je t'ai indiqué. Juste que tu devrais avoir le même hash pour ton mot de passe que tu viens d'entrer par rapport à celui au sein de la base de données. Il n'est pas normal que le résultat diffère si tu as inscris le même mot de passe.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    ok mais je bien deux hash un de la base de donnée et un de la page login comment je les comprer pour trouver l'empreinte du hash ?


    par qu'elle méthode ou quelle fonction ou il suffit juste de faire

    mdpBDD === mdpLogin [ par exemple ] je suis plus que novice en java .

  11. #11
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jchevalay54 Voir le message
    mdpBDD === mdpLogin [ par exemple ] je suis plus que novice en java .
    En gros ouai. Après une petite recherche sur le site, j'ai trouvé quelque chose comme ça : MD5 en Java

    Et après il te suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (mdpHashEntree.equals(mdpHashBDD)) {
      // Authentifié
    }
    PS : N'oublie pas de lire l'intégralité du fil du lien que je t'ai mis (adiGuba y joint une petite correction)
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 62
    Points : 57
    Points
    57
    Par défaut
    Merci bien robin56.

    ça marche bien merci encore pour le temps que vous m'avez accordé

    Problèmes résolu !

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

Discussions similaires

  1. [Cognos 6][Impromptu] Problème avec les champs groupés
    Par nicoduhavre dans le forum Cognos
    Réponses: 4
    Dernier message: 23/03/2007, 15h27
  2. Problème avec les champ obligatoire et liste déroulante
    Par snakejl dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/05/2006, 18h21
  3. [MySQL] Problème avec un champ selected
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/01/2006, 17h01
  4. Problème avec les champs de type table
    Par devdev dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/12/2004, 16h05
  5. Problème avec un champ 'long'
    Par yannick dans le forum Débuter
    Réponses: 2
    Dernier message: 25/07/2003, 14h17

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