Bonjour a tous,
j'ai une application avec lequel je me connecte grâce a une basse de donner mysql dans la quelle je renseigne un identifiant et un mot de passe crypter dans ma basse de donné
Cryptage de mot de passe :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dxca","sam","5852");
        PreparedStatement state = con.prepareStatement("insert into membres (identifiant, motdepasse, service, statut)values(?,?,?,?)");
        state.setString(1, id.getText());
        state.setString(3, service.getText());
        state.setString(4, statut.getText());        
 
        if (md5(pass.getPassword()).equals(""))
        {
            JOptionPane.showMessageDialog(this, "crypter", "erreur", JOptionPane.ERROR_MESSAGE);
            return;
        }
        //if i in table.getRow = assurance.update();return assurance();state.executeUpdate();
        state.setString(2, md5(pass.getPassword()));
        int count = state.executeUpdate();
        if (count > 0){
            JOptionPane.showMessageDialog(this, "Ajouter", "informayion", JOptionPane.INFORMATION_MESSAGE);
        ///
        }
        }catch(Exception ex){ 
            JOptionPane.showMessageDialog(this, ex.toString(), "erreur", JOptionPane.ERROR_MESSAGE);
        }
    }                                        
 
    private String md5(char[] c){
        try{
            MessageDigest digs = MessageDigest.getInstance("MD5");
            digs.update((new String(c)).getBytes("UTF8"));
            //byte byteData[] = digs.digest();
            String str = new String(digs.digest());
            return str;
        }catch (Exception ex){
            return "";
        }
 
    }
mais quand j'essaie de me connecter il n'arrive pas a trouver le mot de passe d'origine que j'ai crypter
authentification :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
 
    }                                           
        //Button Se connecter
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if(jTextField1.getText().length()==0)  
            JOptionPane.showMessageDialog(null, "Erreur de saisie");
        else if(jPasswordField1.getPassword().length==0)  
            JOptionPane.showMessageDialog(null, "Erreur de saisie");
        else{
            String user = jTextField1.getText();   
            char[] pass = jPasswordField1.getPassword(); 
            //String pwd = String.copyValueOf(pass);
            //String dp = 
            if (md5(jPasswordField1.getPassword()).equals(""))
            {
            JOptionPane.showMessageDialog(this, "crypter", "erreur", JOptionPane.ERROR_MESSAGE);
            return;
            }    
            String pwd = String.copyValueOf(pass);
 
            //Verification des identifiant saisie 
            if(validate_login(user,pwd)){
                JOptionPane.showMessageDialog(null, "Connexion reussie");
                //Java_Insert_Update_Delete_Display df = new Java_Insert_Update_Delete_Display();
                //df.setVisible(true);
                //this.hide();
                FenetreDam af = new FenetreDam();
                af.setVisible(true);
                //Fenetre2 ft = new Fenetre2();
                //ft.setVisible(true);
                this.hide();
                //TableSql af = new TableSql(); 
                //af.setVisible(true);
                }
            else
                JOptionPane.showMessageDialog(null, "Connection refusé");
            }                      
    }                                        
    private String md5(char[] c){
        try{
            MessageDigest digs = MessageDigest.getInstance("MD5");
            digs.update((new String(c)).getBytes("UTF8"));
            //byte byteData[] = digs.digest();
            String str = new String(digs.digest());
            return str;
        }catch (Exception ex){
            return "";
        }
 
    }
 
 
 
    private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {                                                
 
    }                                               
 
    private boolean validate_login(String identifiant,String motdepasse) {
        try{           
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dxcare","root","");     
            PreparedStatement pst = con.prepareStatement("Select * from membres where identifiant=? and motdepasse=?");
            pst.setString(1, identifiant); 
            pst.setString(2, motdepasse);
            ResultSet rs = pst.executeQuery();                        
       if(rs.next())            
           return true;    
       else
           return false;            
        }catch(Exception e){
            e.printStackTrace();
            return false;
   }       
}