Hash MD5 avec MessageDigest (apache codec)
Bonjour à tous.
Pour les besoins d'un projet que je développe, j'ai besoin de renvoyer un utilisateur par un redirect à une URL d'un service externe. Pour que le service valide ma redirection, je dois leur envoyer un hash MD5 pour qu'ils puissent vérifier la validité
Le hash est formé de deux paramètres que je leur envoie et d'une phrase statique.
Par exemple, la chaine à encrypter serait:
1testsercodeone click 1.0
J'ai fait un bout de code en Java mais je n'arrive pas à obtenir un hash Md5 correct. Quand j'essaie de le générer online via cette web par exemple : http://7thspace.com/webmaster_tools/...5_encoder.html c'est completement différent.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
String idtx = "1";
String sercode = "testsercode";
String checksumPhrase = "one click 1.0";
String checksum = idtx + sercode + checksumPhrase;
byte[] checkSumBytes = checksum.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] checkSumMD5Bytes = md.digest(checkSumBytes);
String checksumMD5 = new String(checkSumMD5Bytes, Charset.forName("UTF-8"));
System.out.println("checksum :"+checksum);
System.out.println();
System.out.println("checksumMD5 :"+checksumMD5);
System.out.println("checkSumMD5Bytes.toString:"+checkSumMD5Bytes); |
Et voici l'output:
Code:
1 2 3 4 5
|
checksum :1testsercodeone click 1.0
checksumMD5 :??'hV?s??V???
checkSumMD5Bytes.toString:[B@42e816 |
Pourtant si je vais sur la web, j'obtiens que le hash est :
f114b42768560ffa73fce556b0c907e8
Je fais quelquechose mal dans mon code, mais quoi?
Merci d'avance pour votre aide!!!
N.