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:
Et voici l'output:
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 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);
Pourtant si je vais sur la web, j'obtiens que le hash est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 checksum :1testsercodeone click 1.0 checksumMD5 :??'hV?s??V??? checkSumMD5Bytes.toString:[B@42e816
f114b42768560ffa73fce556b0c907e8
Je fais quelquechose mal dans mon code, mais quoi?
Merci d'avance pour votre aide!!!
N.
Partager