Comment obtenir la somme de contrôle MD5 pour un fichier donné en Java ? Comment utiliser l'utilitaire DigestUtils.md5Hex d'Apache Common ?

Publié: 2021-08-28
Comment obtenir la somme de contrôle MD5 pour un fichier donné en Java ? Utilisez DigestUtils.md5Hex de commons-codec

Renforcer la sécurité de votre application d'entreprise est le plus grand défi de toute organisation.

Considérez ce scénario de production réel :

  1. Vous avez une application qui reads the value d'un fichier
  2. En fonction de la valeur du fichier, il performs some operations telles que ajouter/supprimer/exécuter
  3. Vous avez déployé cette application dans un environnement de production
  4. Que se passe-t-il si une unauthorized person changes the value de ce fichier à votre insu ?
  5. Votre application simply gets new value à partir d'un fichier et exécute la logique qui peut provoquer unexpected outcome
  6. Si vous avez peut-être activé la somme de contrôle MD5 pour ce fichier, vous could have created an exception avec un message d'erreur clair et you could have prevented disaster ou un résultat inattendu

Qu'est-ce que la somme de contrôle MD5 ?

La somme de contrôle MD5 pour un fichier est une 128-bit value , quelque chose comme une empreinte digitale du fichier. Il peut être utile à la fois pour comparer les fichiers et pour contrôler leur intégrité.

Obtenir la même valeur pour un fichier différent est presque impossible. Dans ce didacticiel, nous allons créer un programme Java simple qui crée et renvoie des valeurs MD5 pour un fichier donné. Dans notre cas, il s'agit du fichier index.php .

Commençons:

Étape 1

Créer une classe publique CrunchifyGetMD5ForFile.java

Étape 2

Importez ci-dessous deux dépendances maven dans le fichier pom.xml de votre projet. Tutoriel pour convertir un projet en projet maven.

Nous utilisons les bibliothèques commons-codec et commons-io .

Étape 3

Créez la somme de contrôle MD5 à l'aide de l'utilitaire DigestUtils.md5Hex et imprimez le résultat sur la console.

DigestUtils.md5Hex => Implémentation encodeHex

Voici un programme complet.

Créer la classe crunchifyGetMd5ForFile.java

Exécutez simplement le programme ci-dessus en tant qu'application Java et vous verrez un résultat similaire à celui-ci.

Résultat de la console IntelliJ IDEA :

Comment allez-vous utiliser cette somme de contrôle MD5 lors de l'exécution pour vérifier l'intégrité des fichiers ?

Vous pouvez comparer cette somme de contrôle MD5 au moment de l'exécution avec la valeur stockée dans votre base de données, comme MySQL, Oracle, etc.

Il existe de nombreuses autres façons d'obtenir le même résultat, mais nous en discuterons dans de futurs didacticiels.