> Tous les forums > Forum Autres langages
 Enregistrer telle quelle la valeur d'un JPasswordField dans la BD
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
pytheas
  Posté le 09/11/2013 @ 03:22 
Aller en bas de la page 
Petit astucien

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 :

public class Utilisateur {

private String mdp;

public String getMdp(){

return this.mdp.toString().trim();

}

}

dans mon service:

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 <gras>ok </gras>il s'enregistre par exemple en :<gras>[C@147480e</gras><ital></ital> et pourtant j'aimerais qu'il s'enregistre comme tel. Merci bien de m'aider.

Publicité
rdany62
 Posté le 09/11/2013 à 18:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je ne programme pas en Java.

J'ai donc cherché sur le site de Oracle: ici, tu as la doc de la classe JPasswordField, ici, tu as un article sur l'utilisation de cette classe, et ici, la doc de la méthode getPassword de la classe JPasswordField. Ici, tu as une liste des démos dont une qui s'appelle PasswordDemo qui se sert de cette classe.

D'après ce que je comprends de la doc (encore une fois, je ne programme pas en Java, je ne connais pas les API), je pense que la classe JPasswordField ne stocke pas le mot de passe en clair, pour des raisons de sécurité. Le mdp est stocké dans un tableau de type char.

Si ces liens ne t'aident pas vraiment ou que tu dois absolument accéder au mdp en clair, tu as la méthode valueOf de la classe String (plusieurs surcharges: l'une permettant de convertir un tableau de char vers un string ici et une surcharge permettant de convertir un object vers un string ici).

Supposons que tu ai un JPasswordField nommé jPF convenablement déclaré dans ton app qui permette à ton utilisateur de saisir son mdp et un string mdp (pour toi récupérer le mdp en clair).

mdp = String.valueOf(jPF.getPassword());

devrait logiquement marcher.



Modifié par rdany62 le 09/11/2013 18:23
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
affichage d'une valeur dans un JComboBox
mysql base de données de récupération dans wampserver2
Cellules vides dans un Datagridview (VB.NET)
dossiers unknown folder dans C
Comment mettre un temps dans un Script
Comment exclure 0 dans une fonction
forcer l'acceptation de localisation dans les paramètres de flash
Existe-t-il une affiliation dans les programmes informatiques ?
syntaxe zone de liste déroulante dans excel 2010
Editer à la chaîne les raccourcis dans un dossier
Plus de sujets relatifs à Enregistrer telle quelle la valeur d''un JPasswordField dans la BD
 > Tous les forums > Forum Autres langages