Wie erhalte ich eine MD5-Prüfsumme für eine bestimmte Datei in Java? Wie verwende ich das Dienstprogramm DigestUtils.md5Hex von Apache Common?

Veröffentlicht: 2021-08-28
Wie erhalte ich eine MD5-Prüfsumme für eine bestimmte Datei in Java? Verwenden Sie DigestUtils.md5Hex von commons-codec

Die Erhöhung der Sicherheit Ihrer Unternehmensanwendung ist die größte Herausforderung für jedes Unternehmen.

Betrachten Sie dieses tatsächliche Produktionsszenario:

  1. Sie haben eine Anwendung, die reads the value
  2. Basierend auf dem Dateiwert performs some operations wie Hinzufügen/Löschen/Ausführen aus
  3. Sie haben diese Anwendung in der Produktionsumgebung bereitgestellt
  4. Was passiert, wenn eine unauthorized person changes the value ?
  5. Ihre Anwendung simply gets new value aus einer Datei und führt die Logik aus, die zu unexpected outcome führen kann
  6. Wenn Sie möglicherweise die MD5-Prüfsumme für diese Datei aktiviert haben, hätten Sie möglicherweise could have created an exception und you could have prevented disaster

Was ist die MD5-Prüfsumme?

Die MD5-Prüfsumme für eine Datei ist ein 128-bit value , so etwas wie ein Fingerabdruck der Datei. Es kann sowohl für den Vergleich der Dateien als auch für ihre Integritätskontrolle nützlich sein.

Es ist fast unmöglich, den gleichen Wert für verschiedene Dateien zu erhalten. In diesem Tutorial erstellen wir ein einfaches Java-Programm, das MD5-Werte für eine bestimmte Datei erstellt und zurückgibt. In unserem Fall ist es die Datei index.php .

Lass uns anfangen:

Schritt 1

Erstellen Sie die öffentliche Klasse CrunchifyGetMD5ForFile.java

Schritt 2

Importieren Sie die folgenden zwei Maven-Abhängigkeiten in die pom.xml -Datei Ihres Projekts. Tutorial zum Konvertieren eines Projekts in ein Maven-Projekt.

Wir verwenden commons-codec und commons-io Bibliotheken.

Schritt 3

Erstellen Sie eine MD5-Prüfsumme mit dem Dienstprogramm DigestUtils.md5Hex und drucken Sie das Ergebnis auf der Konsole aus.

DigestUtils.md5Hex => encodeHex-Implementierung

Hier ist ein volles Programm.

Erstellen Sie die Klasse crunchifyGetMd5ForFile.java

Führen Sie einfach das obige Programm als Java-Anwendung aus und Sie werden ein ähnliches Ergebnis sehen.

Ergebnis der IntelliJ IDEA-Konsole:

Wie werden Sie diese MD5-Prüfsumme zur Laufzeit verwenden, um die Dateiintegrität zu überprüfen?

Sie können diese MD5-Prüfsumme zur Laufzeit mit dem Wert vergleichen, der in Ihrer Datenbank wie MySQL, Oracle usw. gespeichert ist.

Es gibt eine Reihe anderer Möglichkeiten, wie Sie dasselbe erreichen können, aber wir werden dies in zukünftigen Tutorials besprechen.