Java mot de passe

Fermé
azou - 14 déc. 2006 à 23:37
 CrazyDieter - 25 juil. 2007 à 14:22
Bonjour,
je voudrais réaliser une petite application qui permet à un utilisateur de s'identifier avec son login et son mot de passe.
Je voulais savoir quelle méthode me conseillez vous ?
Je pensais à stocker la valeur réelle du mot de passe dans un fichier texte, et crypter ce fichier. Est ce correct comme méthode ?
Dans ce cas, de quelle façon dois-je procéder ? Quelles sont les classes permettant de réaliser cette application ?
Merci

3 réponses

babass77 Messages postés 13 Date d'inscription lundi 13 novembre 2006 Statut Membre Dernière intervention 20 décembre 2007 4
18 déc. 2006 à 12:48
Ca m'intérresse aussi , mais moi je voulais faire ca avec une base de données, car j'ai des données a stoker , mais je en sais pas comment on fait pour se servir d'une BD en java , si vous avez des idées , merci d'avance
++
2
Salut! apparement tout le monde a l'air davoir le meme problème, je sais déjà utiliser JDBC..mais mon problème est de pouvoir faire un comparaison entre le login et mode passe entrée et les champs de la base de donée..:

// .........bout de code.....

//connection à la base de donnée
connection = DriverManager.getConnection("jdbc:mysql://localhost:8889/Palettisation", "root", "root");

statement =connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);

String sql = "SELECT nom_prenom, mot_de_passe FROM utilisateur";
ResultSet resultat = statement.executeQuery(sql);

//lecture du clavier
InputStreamReader lecteur=new InputStreamReader(System.in);
BufferedReader entreelogin=new BufferedReader(lecteur);
BufferedReader entreemdp=new BufferedReader(lecteur);



System.out.println("Veuillez entrer vos identifiants :");
System.out.println("Login :");

login = entreelogin.readLine();//lecture ici!

System.out.println("mot de passe :");
motdepasse=entreemdp.readLine();

/**
*Jai entré mes identifiants dans la variable login et motdepasse.
*Je dois ensuite parcourrir ma base de donnée ligne par ligne pour pouvoir
*comparer mes identifiant.
*/

//..suite.....

while(ResultSet.next())

{

//On recupere le contenu de nos colonnes
String nomprenom = resultat.getString("nom_prenom");
String motde_passe = resultat.getString("mot_de_passe");

}//fin de la boucle

//..fin du bout de code

Mon code, ici, n'est pas entier.
Dans la première partie, je créé ma connexion à la base et je demande au client de comuniquer ses identifiants.

Dans ma boucle, je parcour ma base de donnée. Je parcour les colonnes de ma table qui se nomment nom_prenom et mot_de_passe et je passe le contenu dans les variables nomprenom et motde_passe.

Je souhaiterai comparer le contenu de login et nomprenom et de motdepasse et motde_passe.

J'ai du mal à y arriver..si quelq'un pourrai maider ce serai super car je me prend la tete depuis un moment j'essaye de faire des boucle if, for, do while..mais jai un peu de mal..

Merci davance de votre aide..

Javagirl
0
petite erreur :

while (resultat.next())
au lieu de resultset!
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
15 déc. 2006 à 00:52
Si cela peut t'intéresser j'ai trouver une petite méthode sur un site de sources, je te cherche et te donne ca demain.
1
Tu n'as pas besoin de parcourir toute la table !!!


schematiquement on peut authentifier qqun dans une base sql comme ceci:

public boolean authentify(String username, String passwd) throws SQLException
{
ResultSet rs = connection.createStatement().executeQuery("select count(*) from user where username=? and passwd = ?");
rs.next();
boolean auth =( rs.getInt(1)==1);
}
0