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

NetBeans Java Discussion :

Enregistrer telle quelle la valeur d'un JPasswordField dans la BD


Sujet :

NetBeans Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut Enregistrer telle quelle la valeur d'un JPasswordField dans la BD
    Enregistrer telle quelle la valeur d'un JPasswordField dans la B
    coolanso - 9 nov. 2013 à 02:50
    Bonsoir à tous, j'ai un souci avec le JPasswordField. Dans mon application je permets à l'utilisateur de modifier son mot de passe, le problème est que le mot de passe enregistré dans la BD n'est pas celle que l'utilisateur à saisi, du coup impossible de le modifier puisque mon application vérifie l'ancien mot de passe.
    voici comment je récupère mon mot de passe:
    dans mon model :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Utilisateur { 
    private String mdp; 
    public String getMdp(){ 
    return this.mdp.toString().trim(); 
    } 
    }
    dans mon service:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class ServicesUtilisateur { 
    public boolean ajouterUtilisateur(Utilisateur user) { 
    Connection connection = DataBaseConnector.getConnection(); 
    if (connection == null) { 
    return false; 
    } 
    while((user.getNom().length()!=0)&& (user.getMdp().length()!=0)) 
    { 
     
    try { 
    PreparedStatement preparedStatement = connection.prepareStatement("insert into user(NomUser,Pass,) values(?,?)"); 
    preparedStatement.setString(1, user.getNom()); 
    preparedStatement.setString(2, user.getMdp()); 
    preparedStatement.executeUpdate(); 
    . 
    . 
    . 
    }
    quand je tape par exemple comme mot de passe ok il s'enregistre par exemple en :[C@147480e et pourtant j'aimerais qu'il s'enregistre comme tel. Merci bien de m'aider.

  2. #2
    Membre éclairé Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Points : 803
    Points
    803
    Par défaut
    Alors il faut mettre un champ texte, puisque tu ne veux pas des fonctionnalités d'un champ password... Par ailleurs, je n'ai pas lu le code, mais je pense que tu sauvegarde le nouveau password avant d'avoir vérifié l'ancien. Il est évident que ce que tu veux faire est fait par tout le monde, donc sur le web il y a forcément des exemples... Sauvegarder le PW en clair est une faute majeure de sécurité.
    Sans danger si utilisé conformément au mode d'emploi.

    (anciennement BenWillard, enfin moins anciennement que ... enfin bon c'est une longue histoire... Un genre de voyage dans le temps...)

  3. #3
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Citation Envoyé par coolanso Voir le message
    quand je tape par exemple comme mot de passe ok il s'enregistre par exemple en :[C@147480e et pourtant j'aimerais qu'il s'enregistre comme tel. Merci bien de m'aider.
    Regarde là: http://www.developpez.net/forums/d13...passwordfield/, au 6ème post

    Mais je rejoins JoeChip sur le fait de ne pas stocker un mdp en clair...

    Par contre est-ce très utile ce genre de code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private String mdp; 
    ...
    return this.mdp.toString()...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut Enregistrer telle quelle la valeur d'un JPasswordField dans la BD
    Merci à vous JoeChip et plegat, j'ai pu resoudre ce problème, il semblerait que JpasswordField retourne un tableau de carractères, et que ma méthode retournait la valeur de l'objet tableau. Il fallait simplement que j'utilise "new String()" pour récupérer la valeur saisie par l'utilisateur. Aussi, je suis parfaitement d'accord avec vous quant à la sauvegarde de la valeur exacte d'un mot de passe dans la BD,ceci aurait fait l'objet de mon future post.
    Il se trouve que je ne sais pas comment chiffré ou transformé cette valeur en BD, en plus mon application permet à l'utilisateur de modifier son mot de passe comme on le fait de façon classique, entrer l'ancien mot de passe, saisir le nouveau puis le confirmer, dans cette optique je me demande comment java fera pour verifier le mot de passe saise avec celui modifier en BD. Je serais partant pour toutes propositions ou tout lien vers des cours pouvant me permettre d'y arriver.Merci

  5. #5
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par coolanso Voir le message
    Il se trouve que je ne sais pas comment chiffré ou transformé cette valeur en BD, en plus mon application permet à l'utilisateur de modifier son mot de passe comme on le fait de façon classique, entrer l'ancien mot de passe, saisir le nouveau puis le confirmer, dans cette optique je me demande comment java fera pour verifier le mot de passe saise avec celui modifier en BD. Je serais partant pour toutes propositions ou tout lien vers des cours pouvant me permettre d'y arriver.Merci
    Faut chercher avant de demander...

    Tu hashes le mot de passe, et tu fais les vérification sur les mdp hashés (que ce soit pour se logguer ou pour modifier le mdp)
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/07/2015, 14h43
  2. Réponses: 2
    Dernier message: 30/11/2007, 17h54
  3. Réponses: 2
    Dernier message: 27/03/2007, 22h15
  4. Réponses: 4
    Dernier message: 23/03/2007, 09h49

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