j'ai un servlet qui gère la connexion à un formulaire afin de pouvoir le modifier, les mots de passe sont chiffrés en SHA-1, alors quand je veux me connecter avec mon mot de passe toujours il me renvoi le message que j'ai préparé en cas de faute de mot de passe, voici le code du login

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
 
@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            //HttpSession session = request.getSession();
            bac = request.getParameter("logBac");    //je reçois ici le numéro de bac qui est l'utilisateur 
            pwd = request.getParameter("logPass");  //là je reçois le mot de passe entré
            String encryptPass = encrypt(pwd).toString(); // je chiffre mon mot de passe par la même fonction de chiffrement lors d'inscription
 
            String query = "SELECT * FROM compte WHERE bac=? AND password=?";
            System.out.println(query);
            try {
                stat = cnx.prepareStatement(query);
                stat.setString(1, bac);               //j'envoi le user à la requête
                stat.setString(2, encryptPass);    //j'envoi le mot de passe chiffré afin qu'il le compare
 
rslt = stat.executeQuery();
                if(rslt.next()){
                    //j'envoi les données à mes objets ce code fonctionne bien si je teste sans chiffrement des mots de passe
                    c.setNum_compte(rslt.getInt("num_compte")); 
                    c.setBac(rslt.getString("bac"));
                    e.setBac(rslt.getString("bac"));
                    c.setPassword(rslt.getString("password"));
 
                    Etudiant();
                    Fils();
                    Parents();
 
                    request.getSession().setAttribute("compte", c);
                    request.getSession().setAttribute("bachelier", e);
                    request.getSession().setAttribute("pere", pere);
                    request.getSession().setAttribute("mere", mere);
                    RequestDispatcher disp = request.getRequestDispatcher("edition.jsp");
                    disp.forward(request, response);
                }else{
                    processRequest(request, response);
                }
            } catch (SQLException ex) {
                Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (Exception ex) {
            Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
        }   
    }
voici la méthode de chiffrement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public static byte[] encrypt(String x) throws Exception {
        java.security.MessageDigest d = null;
        d = java.security.MessageDigest.getInstance("SHA-1");
        d.reset();
        d.update(x.getBytes());
        return d.digest();
    }