Appliquer la fonction de hachage MD5 à un texte

othmani
Appliquer la fonction de hachage MD5 à un texte

salut tout le monde,
j'aimerai appliquer la fonction de hachage MD5 sur le contenu d'un fichier
j'ai ce code:

//ce code permet de crypter une haine de caractères 
//en utilisant la fonction de hachage MD5
//Utilise des classes de sécurité

package ANSI.PFE.HIDS;

import java.security.*;

public class MD5 
{ /*
   * Encode la chaine passé en paramètre avec l’algorithme MD5
   * @param key : la chaine à encoder
   * @return la valeur (string) hexadécimale sur 32 bits
  */

  public static String encode (String key) 
  {
   byte[] uniqueKey = key.getBytes();
   byte[] hash = null;
   
   //------------------------------------------------------------------------------------------------
   
   try 
   {
    // on récupère un objet qui permettra de crypter la chaine
    hash = MessageDigest.getInstance("MD5").digest(uniqueKey);
   }
   catch (NoSuchAlgorithmException e) {throw new Error("no MD5 support in this VM");}

   //-------------------------------------------------------------------------------------------------
   
   StringBuffer hashString = new StringBuffer();
   for (int i = 0; i < hash.length; ++i) 
   {
    String hex = Integer.toHexString(hash[i]);
    if (hex.length() == 1) 
    {
     hashString.append(0);
     hashString.append(hex.charAt(hex.length() - 1));
    }
    else {hashString.append(hex.substring(hex.length() - 2));}
   }
   return hashString.toString();
 }
}

ce code marche bien avec le nom du fichier donné comme argument mais je veux l'appliquer sur le contenu du fichier;
y a t-il quelqu'un qui peut me dire quelles sont les modifications que pourrai je les apporter à ce code afin qu'il resout ma demande?
merci
fredericmazue

ben ta méthode traite un tableau de byte. Qu'est-ce qui t'empêche de passer le contenu du fichier sous la forme d'un tableau de byte ?

othmani

mon probleme aussi c'est comment recupérer le contenu de mon fichier
car "file.getContents" n'est pa connue par eclipse.
peux tu me dire quelles sont les modifications que dois je faire?
s'il n'y a pa des modifications sur le code, comment je peux envoyer le contenu de mon fichier comme argument pour la methode qui fait le hachage?

fredericmazue

Quote:
"file.getContents"

D'où ça sort ça ?
Quote:
n'est pa connue par eclipse.

Qu'est-ce que Eclipse a à voir là-dedans ?
C'est de la programmation Java. La méthode existe ou elle n'existe pas. Que ce soit sous Eclipse ou pas.
Et puis ce file.getContents je ne le vois pas dans le code que tu as donné dans ton premier post.
Quote:
peux tu me dire quelles sont les modifications que dois je faire?

La première modification consiste à ne pas prendre un bout de code à un endroit sur le Net, pour en demander une modification ici (Ton code vient de http://www.labo-sun.com/resource-FR-codesamples-150-0-java-texte-crypter-une-string-avec-md5.htm)
Sinon je te le demande, où est ton travail personnel dans l'affaire ?

Deuxième modification: apprendre un petit peu de Java. Quand même lire le contenu d'un fichier, c'est vraiment très basique.
Ton file.getContents aussi tu l'as vu sur le Net n'est-ce pas ? Et c'est pour cela que tu as un problème avec.

Comme tu fréquentes régulièrement ce forum, tu sais que j'apporte volonteirs de l'aide à ceux qui en ont besoin. Mais il me semble qu'entre apporter de l'aide et "faire à la place de" il y a une nuance. Vois tu ce que je veux dire ?