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 :

Stocker mot de passe


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut Stocker mot de passe
    Bonjour,

    J'aimerais pouvoir stocker un mot de passe dans un fichier.
    Pour l'instant j'utilise MD5 pour chiffrer les mots de passe mais comment retrouver le mot de passe (c'est impossible normalement).
    En fait je voudrais faire comme le gestionnaire de mot de passe de Firefox : stocker les mots de passe chiffrés dans un fichier mais pouvoir les retrouver ensuite.

    Comment faire et est ce possible?
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si vous vouez inverser l'opération, il ne faut pas utiliser MD5. MD5 et une fonction de hashage. Les fonctions de hashage sont à sens unique. Utilisez plutot une fonction de chiffrement, qui, elle, nécessite une clé (exemple un mot de passe maître) et est réversible. Quelques ressources ici
    http://java.developpez.com/sources/?...ptage#blowfish

  3. #3
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Si tu tiens a utiliser MD5 (peut être pour la sécurité). Voila la méthode que j'utilise

    * Tu hash ton mot de passe que tu stock dans ton fichier
    * Lorsque l'utilisateur entre un mot de passe, tu le hash a son tour et le compare avec celui que tu as dans ton fichier (deja hashe). Vu que le résultat d'un hashage est unique, s'il y'a correspondance, alors c'est le bon mot de passe.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  4. #4
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Points : 402
    Points
    402
    Par défaut
    oui en effet, sauf qu'ici cela ne peut pas correspondre au besoin exprimer.

    Car on ne peut s'identifier sur un site en passant un Hash MD5 en mot de passe... le but est de pouvoir retrouver le mot de passe, pour pouvoir etre identifier automatiquement, ou pouvoir dire au navigateur de nous identifier " le fameux "controle + enter" sur Opera ...

    La comparaison de Hash MD5 est la bonne pratique pour stocker en base de données, on Hash le mot de passe fournit et on stock le Hash. Plus tard, l'utilisateur s'identifie, on Hash son mot de passe et on compare au Hash de la base... mais ici , ce n'est pas ce que l'on souhaite.

    Donc il faut obligatoirement une fonction reversible, comme l'a indiqué Tchize
    C'est en aidant les autres qu'on en apprend beaucoup soi-même

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par michon Voir le message
    Car on ne peut s'identifier sur un site en passant un Hash MD5 en mot de passe...
    Oui mais en general on envoye le mot de passe sous forme de HASH MD5 pour que personne ne puisse le sniffer sur le reseau ... fonction Javascript ou autre.

    Mais tu le dis toit meme plus bas en fait ^^.

    Rien n'empeche non plus de stocker le mot de passe en claire sur la BD de donnée serveur en cas de perte.

    Le comparaison simple se font avec le HASH MD5 (empecher le sniffage), la recuperation d'un mdp se fait avec l'autre table qui contient les mdp non crypté. (mais alors faut croiser les doigts pour pas se la faire chopper).

    Mais la solution du chiffrement reversible est une possibilitée intéressante.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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
    Citation Envoyé par wax78 Voir le message
    Oui mais en general on envoye le mot de passe sous forme de HASH MD5 pour que personne ne puisse le sniffer sur le reseau ... fonction Javascript ou autre.
    ....

    Si c'était le cas, il suffirait de sniffer le hash MD5 au lieu du mot de passe, puisque c'est tout ce qu'on a besoin de transmettre -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    ... en effet (c'est vendredi hein )

    Mais bon a choisir je prefere qu'on me sniff mon mot de passe sous forme MD5 (que l'on peut toujours reverser avec beaucoup de temps) ca evitera eventuelement a l'attaquant de connaitre mon mot de passe en clair que j'utilise partout (2 eme erreur potentielle).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    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
    D'accord.

    Notons quand même un truc important : quand vous avez un hash MD5, vous pouvez le chercher dans Google, et vous tomberez sur un mot de passe qui peut générer ce hash.
    MD5 n'est pas assez securisé.

    Une manière de contourner ce problème est de saler le hash MD5, pour imposer que le hash soit obtenu avec le mot de passe, concaténé à deux octets aléatoires choisis au moment de l'enregistrement. Bon courage pour Googler ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Merci de vos réponses.
    Je vais m'orienter vers le chiffrement Blowfish car je veux pouvoir inverser l'opération.
    J'opérais déjà par comparaison de Hash MD5 quand je voulais faire une identification de login.

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Oui mais en general on envoye le mot de passe sous forme de HASH MD5 pour que personne ne puisse le sniffer sur le reseau ... fonction Javascript ou autre.
    Non, je ne sais pas où vous avez été chercher cette idée et je vois pas comment le serveur distant pourrait ce contenter du md5 pour vous authentifier. A moin d'avoir vraiment implémenter la sécurité avec les pieds.

    Pour sécuriser le mot de passe entre le client et le serveur, on fait du SSL, c'est tout

    Effectivement, il vaut mieux saler son MD5, pour éviter les renversement faciles par dictionnaire. le MD5 suivant

    71c0c9d790a4209eb0e8f2eee474319b (chicon)
    se casse en 0.07s avec google.
    Mais pour les mots hors dictionnaire, même non salé, ca reste assez secure

    exemple le md5 suivant
    40d8e5e7258cec11852338c2342f287c (endive69)

    google ne retourne rien (pour le moment )

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    J'ai pu chiffrer avec Blowfish mais par contre le mot de passe "key" est contenu dans le code source...

  12. #12
    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
    Citation Envoyé par Staithes Voir le message
    J'ai pu chiffrer avec Blowfish mais par contre le mot de passe "key" est contenu dans le code source...
    C'est aussi le cas de Firefox. Il propose une alternative : définir un "mot de passe maître" qui chiffre et déchiffre les autres mots de passe. Et celui-ci n'est stocké qu'en mémoire : il faut le taper à chaque démarrage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Je ne savais pas.
    Merci.

  14. #14
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Pour sécuriser le mot de passe entre le client et le serveur, on fait du SSL, c'est tout
    Ca c'est sure je dis pas Par contre quand le serveur ne le permets pas, c'est desuite plus ennuyant.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben quand il le permet pas, on prétend pas y arriver par d'autres moyens

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

Discussions similaires

  1. Stocker ses mots de passe sur un serveur distant sécurisé
    Par JackBeauregard dans le forum Firefox
    Réponses: 0
    Dernier message: 23/07/2011, 09h20
  2. Réponses: 52
    Dernier message: 07/06/2010, 10h37
  3. Stocker un mot de passe modifiable
    Par RudyWI dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/05/2008, 10h03
  4. Où stocker un mot de passe ?
    Par eric8787 dans le forum VB.NET
    Réponses: 14
    Dernier message: 17/12/2007, 21h30
  5. Réponses: 4
    Dernier message: 25/11/2007, 21h30

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