Bonjour,
J'ai un petit souci avec le hashage md5.
Au lancement de mon application je demande à l'utilisateur d'entrer son adresse email et son mot de passe. Ensuite je hash le mdp en md5 pour comparer le couple adresse email/mdp avec ceux dans une base de données distante.
Voilà comment je m'y prend pour le hashage
Quand j'ai testé j'ai pris comme mdp "mikado" (j'étais inspiré). Le hashage côté client me donne ce résultat "ecfb28ce6126d098db1132e51579836" alors que quand j'ai créé mon champs dans la base de données avec la fonction md5, mysql m'a donné cette valeur "ecfb28ce6126d0980db1132e51579836"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 MessageDigest md = MessageDigest.getInstance("MD5"); md.update(pwd.getBytes()); byte messageDigest[] = md.digest(); StringBuffer hexString = new StringBuffer(); for (int i=0; i<messageDigest.length; i++) hexString.append(Integer.toHexString(0xFF & messageDigest[i])); String md5pwd = hexString.toString();
En faisant des recherches, j'ai vu que certains précisaient l'encodage au moment de faire le getBytes(). Est ce que mon problème vient de là ? Sur la base de données j'ai tout laissé par défaut alors je suis en latin1_swedish_ci
Merci d'avance pour votre aide,
Olivier
Partager