So berechnen Sie MD 5 in Java

MD5„entspricht einem weit verbreiteten kryptografischen Algorithmus in Java, der einen Hash von 128 Bit generiert. Dieser Algorithmus nutzt das „MessageDigest”-Klasse, die in der „java.security“ Paket. Dieser Algorithmus ist effektiv, da er weniger Ressourcen verbraucht.

In diesem Artikel wird der Ansatz zur Berechnung von „MD5“ in Java erläutert.

Was ist MD5?

MD5„entspricht einem kryptografischen Algorithmus, der die Hash-Funktionen zum Abrufen eines Hash-Werts mit fester Länge, d. h. 128 Bit (16 Byte), bereitstellt.

Wie berechnet man MD 5 in Java?

Um den kryptografischen Hashing-Wert in Java zu berechnen, muss „MessageDigest”-Klasse wird verwendet. Diese Klasse stellt die folgende kryptografische Hash-Funktion bereit, um den Hash-Wert eines Textes zurückzugeben:

  • MD5
  • SHA-1
  • SHA-256

Funktionsweise der Klasse „MessageDigest“.

Die oben genannten Hash-Funktionen/Algorithmen werden im statischen „bekomme Instanz()“ Methode. Nachdem Sie sich für den Algorithmus „MD5“ usw. entschieden haben, berechnet er den Digest-Wert und ruft die Ergebnisse in einem Byte-Array ab. Danach wird das „BigIntegerEs wird eine Klasse angewendet, die das resultierende Byte-Array in die entsprechende Vorzeichen-Größen-Darstellung umwandelt.

Vorteile von MD5

  • Praktisch zum Vergleich kleiner Hashes.
  • Weniger Ressourcenverbrauch.
  • Bequemes Speichern von Passwörtern.
  • Verbesserte Integrität.

Funktionsweise von MD5

Der „MD5Der Algorithmus basiert auf den folgenden 4 Schritten:

Schritt 1: Zusätzliche Bits hinzufügen

Der erste Schritt des Algorithmus umfasst das Anhängen zusätzlicher Bits an die bereitgestellte Zeichenfolge. Dadurch wird die Länge der Zeichenfolge auf ein Vielfaches von 512 Bits festgelegt.

Schritt 2: Länge anhängen/hinzufügen

Nachdem Sie zusätzliche Bits hinzugefügt haben, erhöhen Sie die Länge, indem Sie zuletzt 64 Bits anhängen. Es verfolgt die vom Benutzer bereitgestellte Länge der Eingabe.

Schritt 3: Initialisieren Sie den MD-Puffer

MD-Puffer bezieht sich auf einen 4-Wort-Puffer (A, B, C, D), wobei sich jedes Wort auf ein 32-Bit-Register bezieht, das den Wert des Nachrichten-Digests berechnet.

Schritt 4: Verarbeitung in einem 16-Wort-Block

Der „MD5„Algo nutzt die Funktionen (Hilfsfunktionen), die die Eingaben als drei 32-Bit-Zahlen annehmen und als Ergebnis 32-Bit generieren. Diese Funktionen nutzen die Operatoren OR, XOR und NOR.

Beispiel: Berechnung des „MD5“-Hashwerts in Java

Das folgende Codebeispiel berechnet die „MD5“ Hashwert:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
public static String retrieveMd5(String x){
  try {
  MessageDigest a = MessageDigest.getInstance("MD5");
  byte[] messageDigest = a.digest(x.getBytes());
  BigInteger b = new BigInteger(1, messageDigest);
  String hashtext = b.toString(16);
  while (hashtext.length() < 32) {
    hashtext = "0" + hashtext;
}
  return hashtext;
}
  catch (NoSuchAlgorithmException except) {
    throw new RuntimeException(except);
}}
public static void main(String args[]) throws NoSuchAlgorithmException{
  String c = "Harry";
  System.out.println("HashCode Generated Via MD5 -> " + retrieveMd5(c));
}}

Führen Sie gemäß den oben genannten Code-Limes die unten angegebenen Schritte aus:

  • Deklarieren Sie die Funktion „abrufenMd5()”, das die übergebene Zeichenfolge als Argument verwendet.
  • Wenden Sie im „try“-Block das „bekomme Instanz()”-Methode mit dem „MD5“-Hashing.
  • Danach wird das „verdauen()Die Methode wird verwendet, um den Nachrichtenauszug eines Eingabeauszugs zu berechnen, der ein Array von Bytes abruft.
  • Transformieren Sie nun das Array in die Darstellung von Signum.
  • Konvertieren Sie im nächsten Schritt den Nachrichtenauszug über die Kombination „toString()“ Und „Länge()” Methoden.
  • Berücksichtigen Sie im „catch“-Block die wahrscheinliche Einschränkung des Message-Digest-Algorithmus.
  • Schließlich in „hauptsächlich“, rufen Sie die definierte Funktion auf, indem Sie die definierte Zeichenfolge als Argument übergeben, um den entsprechenden Hashcode basierend auf dieser Zeichenfolge abzurufen.

Ausgabe

Dieses Ergebnis impliziert, dass der entsprechende Hash-Code in Bezug auf die Zeichenfolge ordnungsgemäß generiert wird.

Abschluss

Um den kryptografischen Hashing-Wert in Java zu berechnen, muss „MessageDigestDie „Klasse“ wird zur Berechnung des Digest-Werts verwendet, ruft die Ergebnisse in einem Byte-Array ab und die „BigIntegerDie Klasse „wandelt das resultierende Byte-Array in seine Vorzeichen-Größen-Darstellung um. In diesem Artikel wurde ausführlich auf die Berechnung des „MD 5“-Hashwerts in Java eingegangen.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen