Bonsoir à tous,
donc voilà, après avoir passé du temps sur à la recherche d'une fonction java md5_file, je ne suis pas parvenu à trouver mon bonheur.
mes recherches m'ont fait trouver ce code.
Concrètement, un serveur web me fourni une page php qui me retourne un fichier avec une liste de média a télécharger ainsi que le md5 de chaque média.
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 private void calculMd5S(String line) throws NoSuchAlgorithmException, UnsupportedEncodingException{ MessageDigest msgDigest = java.security.MessageDigest.getInstance("MD5"); msgDigest.update(line.getBytes("UTF-8")); byte[] digest = msgDigest.digest(); for (int i = 0; i < digest.length; ++i) { int value = digest[i]; if (value < 0) { value += 256; } System.out.print(Integer.toHexString(value) + ""); } System.out.println(); }
Coté client, j'ai trouvé dans la FAQ JAVA une fonction java qui fait idéalement le transfert. Mais voilà pour valider que mon fichier ne s'est pas corrompu pendant le transfert, je cherche a comparer le md5 fourni par mon php et celui fourni par JAVA (fonction code ci dessus). Inutile de vous dire que les deux ne coïncident jamais alors qu'après test, aucun fichier n'est corrompu. J'en suis rendu à me dire que cette fonction java calcule un md5 sur une string et non pas sur le fichier en lui meme.
Existe il une fonction java qui ferait celà très simplement? pour info, moi et java c'est le tout début de l'aventure.
Partager